ddraw: Version 1 devices are aggregated by the surface that created them.
[wine.git] / dlls / d3drm / frame.c
blob5d5427f75cf49fe9960fa78d512760e25b766999
1 /*
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
21 #include "wine/debug.h"
23 #define COBJMACROS
25 #include "winbase.h"
26 #include "wingdi.h"
28 #include "d3drm_private.h"
30 WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
32 typedef struct {
33 IDirect3DRMFrame2 IDirect3DRMFrame2_iface;
34 IDirect3DRMFrame3 IDirect3DRMFrame3_iface;
35 LONG ref;
36 } IDirect3DRMFrameImpl;
38 static inline IDirect3DRMFrameImpl *impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2 *iface)
40 return CONTAINING_RECORD(iface, IDirect3DRMFrameImpl, IDirect3DRMFrame2_iface);
43 static inline IDirect3DRMFrameImpl *impl_from_IDirect3DRMFrame3(IDirect3DRMFrame3 *iface)
45 return CONTAINING_RECORD(iface, IDirect3DRMFrameImpl, IDirect3DRMFrame3_iface);
48 /*** IUnknown methods ***/
49 static HRESULT WINAPI IDirect3DRMFrame2Impl_QueryInterface(IDirect3DRMFrame2* iface,
50 REFIID riid, void** object)
52 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
54 TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_guid(riid), object);
56 *object = NULL;
58 if(IsEqualGUID(riid, &IID_IUnknown) ||
59 IsEqualGUID(riid, &IID_IDirect3DRMFrame) ||
60 IsEqualGUID(riid, &IID_IDirect3DRMFrame2))
62 *object = &This->IDirect3DRMFrame2_iface;
64 else if(IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
66 *object = &This->IDirect3DRMFrame3_iface;
68 else
70 FIXME("interface %s not implemented\n", debugstr_guid(riid));
71 return E_NOINTERFACE;
74 IDirect3DRMFrame2_AddRef(iface);
75 return S_OK;
78 static ULONG WINAPI IDirect3DRMFrame2Impl_AddRef(IDirect3DRMFrame2* iface)
80 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
81 ULONG ref = InterlockedIncrement(&This->ref);
83 TRACE("(%p)->(): new ref = %d\n", This, ref);
85 return ref;
88 static ULONG WINAPI IDirect3DRMFrame2Impl_Release(IDirect3DRMFrame2* iface)
90 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
91 ULONG ref = InterlockedDecrement(&This->ref);
93 TRACE("(%p)->(): new ref = %d\n", This, ref);
95 if (!ref)
96 HeapFree(GetProcessHeap(), 0, This);
98 return ref;
101 /*** IDirect3DRMObject methods ***/
102 static HRESULT WINAPI IDirect3DRMFrame2Impl_Clone(IDirect3DRMFrame2* iface,
103 LPUNKNOWN unkwn, REFIID riid,
104 LPVOID* object)
106 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
108 FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface, This, unkwn, debugstr_guid(riid), object);
110 return E_NOTIMPL;
113 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddDestroyCallback(IDirect3DRMFrame2* iface,
114 D3DRMOBJECTCALLBACK cb,
115 LPVOID argument)
117 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
119 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
121 return E_NOTIMPL;
124 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteDestroyCallback(IDirect3DRMFrame2* iface,
125 D3DRMOBJECTCALLBACK cb,
126 LPVOID argument)
128 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
130 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
132 return E_NOTIMPL;
135 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetAppData(IDirect3DRMFrame2* iface,
136 DWORD data)
138 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
140 FIXME("(%p/%p)->(%u): stub\n", iface, This, data);
142 return E_NOTIMPL;
145 static DWORD WINAPI IDirect3DRMFrame2Impl_GetAppData(IDirect3DRMFrame2* iface)
147 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
149 FIXME("(%p/%p)->(): stub\n", iface, This);
151 return 0;
154 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetName(IDirect3DRMFrame2* iface, LPCSTR name)
156 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
158 FIXME("(%p/%p)->(%s): stub\n", iface, This, name);
160 return E_NOTIMPL;
163 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetName(IDirect3DRMFrame2* iface,
164 LPDWORD size, LPSTR name)
166 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
168 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
170 return E_NOTIMPL;
173 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetClassName(IDirect3DRMFrame2* iface,
174 LPDWORD size, LPSTR name)
176 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
178 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
180 return E_NOTIMPL;
183 /*** IDirect3DRMFrame methods ***/
184 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddChild(IDirect3DRMFrame2* iface,
185 LPDIRECT3DRMFRAME child)
187 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
189 FIXME("(%p/%p)->(%p): stub\n", iface, This, child);
191 return E_NOTIMPL;
194 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddLight(IDirect3DRMFrame2* iface,
195 LPDIRECT3DRMLIGHT light)
197 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
199 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
201 return E_NOTIMPL;
204 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddMoveCallback(IDirect3DRMFrame2* iface,
205 D3DRMFRAMEMOVECALLBACK cb, VOID *arg)
207 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
209 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
211 return E_NOTIMPL;
214 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTransform(IDirect3DRMFrame2* iface,
215 D3DRMCOMBINETYPE type,
216 D3DRMMATRIX4D matrix)
218 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
220 FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
222 return E_NOTIMPL;
225 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTranslation(IDirect3DRMFrame2* iface,
226 D3DRMCOMBINETYPE type,
227 D3DVALUE x, D3DVALUE y, D3DVALUE z)
229 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
231 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, x, y, z);
233 return E_NOTIMPL;
236 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddScale(IDirect3DRMFrame2* iface,
237 D3DRMCOMBINETYPE type,
238 D3DVALUE sx, D3DVALUE sy, D3DVALUE sz)
240 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
242 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, sx, sy, sz);
244 return E_NOTIMPL;
247 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddRotation(IDirect3DRMFrame2* iface,
248 D3DRMCOMBINETYPE type,
249 D3DVALUE x, D3DVALUE y, D3DVALUE z,
250 D3DVALUE theta)
252 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
254 FIXME("(%p/%p)->(%u,%f,%f,%f,%f): stub\n", iface, This, type, x, y, z, theta);
256 return E_NOTIMPL;
259 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddVisual(IDirect3DRMFrame2* iface,
260 LPDIRECT3DRMVISUAL vis)
262 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
264 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
266 return E_NOTIMPL;
269 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetChildren(IDirect3DRMFrame2* iface,
270 LPDIRECT3DRMFRAMEARRAY *children)
272 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
274 FIXME("(%p/%p)->(%p): stub\n", iface, This, children);
276 return E_NOTIMPL;
279 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetColor(IDirect3DRMFrame2* iface)
281 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
283 FIXME("(%p/%p)->(): stub\n", iface, This);
285 return 0;
288 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetLights(IDirect3DRMFrame2* iface,
289 LPDIRECT3DRMLIGHTARRAY *lights)
291 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
293 FIXME("(%p/%p)->(%p): stub\n", iface, This, lights);
295 return E_NOTIMPL;
298 static D3DRMMATERIALMODE WINAPI IDirect3DRMFrame2Impl_GetMaterialMode(IDirect3DRMFrame2* iface)
300 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
302 FIXME("(%p/%p)->(): stub\n", iface, This);
304 return D3DRMMATERIAL_FROMPARENT;
307 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetParent(IDirect3DRMFrame2* iface,
308 LPDIRECT3DRMFRAME * frame)
310 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
312 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
314 return E_NOTIMPL;
317 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetPosition(IDirect3DRMFrame2* iface,
318 LPDIRECT3DRMFRAME reference,
319 LPD3DVECTOR return_position)
321 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
323 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_position);
325 return E_NOTIMPL;
328 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetRotation(IDirect3DRMFrame2* iface,
329 LPDIRECT3DRMFRAME reference,
330 LPD3DVECTOR axis, LPD3DVALUE return_theta)
332 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
334 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, axis, return_theta);
336 return E_NOTIMPL;
339 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetScene(IDirect3DRMFrame2* iface,
340 LPDIRECT3DRMFRAME * frame)
342 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
344 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
346 return E_NOTIMPL;
349 static D3DRMSORTMODE WINAPI IDirect3DRMFrame2Impl_GetSortMode(IDirect3DRMFrame2* iface)
351 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
353 FIXME("(%p/%p)->(): stub\n", iface, This);
355 return D3DRMSORT_FROMPARENT;
358 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTexture(IDirect3DRMFrame2* iface,
359 LPDIRECT3DRMTEXTURE * tex)
361 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
363 FIXME("(%p/%p)->(%p): stub\n", iface, This, tex);
365 return E_NOTIMPL;
368 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTransform(IDirect3DRMFrame2* iface,
369 D3DRMMATRIX4D return_matrix)
371 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
373 FIXME("(%p/%p)->(%p): stub\n", iface, This, return_matrix);
375 return E_NOTIMPL;
378 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetVelocity(IDirect3DRMFrame2* iface,
379 LPDIRECT3DRMFRAME reference,
380 LPD3DVECTOR return_velocity,
381 BOOL with_rotation)
383 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
385 FIXME("(%p/%p)->(%p,%p,%d): stub\n", iface, This, reference, return_velocity, with_rotation);
387 return E_NOTIMPL;
390 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetOrientation(IDirect3DRMFrame2* iface,
391 LPDIRECT3DRMFRAME reference,
392 LPD3DVECTOR dir, LPD3DVECTOR up)
394 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
396 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, dir, up);
398 return E_NOTIMPL;
401 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetVisuals(IDirect3DRMFrame2* iface,
402 LPDIRECT3DRMVISUALARRAY *visuals)
404 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
406 FIXME("(%p/%p)->(%p): stub\n", iface, This, visuals);
408 return E_NOTIMPL;
411 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetTextureTopology(IDirect3DRMFrame2* iface,
412 BOOL *wrap_u, BOOL *wrap_v)
414 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
416 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, wrap_u, wrap_v);
418 return E_NOTIMPL;
421 static HRESULT WINAPI IDirect3DRMFrame2Impl_InverseTransform(IDirect3DRMFrame2* iface,
422 D3DVECTOR *d, D3DVECTOR *s)
424 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
426 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
428 return E_NOTIMPL;
431 static HRESULT WINAPI IDirect3DRMFrame2Impl_Load(IDirect3DRMFrame2* iface, LPVOID filename,
432 LPVOID name, D3DRMLOADOPTIONS loadflags,
433 D3DRMLOADTEXTURECALLBACK cb, LPVOID lpArg)
435 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
437 FIXME("(%p/%p)->(%p,%p,%u,%p,%p): stub\n", iface, This, filename, name, loadflags, cb, lpArg);
439 return E_NOTIMPL;
442 static HRESULT WINAPI IDirect3DRMFrame2Impl_LookAt(IDirect3DRMFrame2* iface,
443 LPDIRECT3DRMFRAME target,
444 LPDIRECT3DRMFRAME reference,
445 D3DRMFRAMECONSTRAINT constraint)
447 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
449 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, target, reference, constraint);
451 return E_NOTIMPL;
454 static HRESULT WINAPI IDirect3DRMFrame2Impl_Move(IDirect3DRMFrame2* iface, D3DVALUE delta)
456 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
458 FIXME("(%p/%p)->(%f): stub\n", iface, This, delta);
460 return E_NOTIMPL;
463 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteChild(IDirect3DRMFrame2* iface,
464 LPDIRECT3DRMFRAME frame)
466 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
468 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
470 return E_NOTIMPL;
473 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteLight(IDirect3DRMFrame2* iface,
474 LPDIRECT3DRMLIGHT light)
476 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
478 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
480 return E_NOTIMPL;
483 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteMoveCallback(IDirect3DRMFrame2* iface,
484 D3DRMFRAMEMOVECALLBACK cb, VOID *arg)
486 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
488 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
490 return E_NOTIMPL;
493 static HRESULT WINAPI IDirect3DRMFrame2Impl_DeleteVisual(IDirect3DRMFrame2* iface,
494 LPDIRECT3DRMVISUAL vis)
496 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
498 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
500 return E_NOTIMPL;
503 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetSceneBackground(IDirect3DRMFrame2* iface)
505 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
507 FIXME("(%p/%p)->(): stub\n", iface, This);
509 return 0;
512 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetSceneBackgroundDepth(IDirect3DRMFrame2* iface,
513 LPDIRECTDRAWSURFACE * surface)
515 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
517 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
519 return E_NOTIMPL;
522 static D3DCOLOR WINAPI IDirect3DRMFrame2Impl_GetSceneFogColor(IDirect3DRMFrame2* iface)
524 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
526 FIXME("(%p/%p)->(): stub\n", iface, This);
528 return 0;
531 static BOOL WINAPI IDirect3DRMFrame2Impl_GetSceneFogEnable(IDirect3DRMFrame2* iface)
533 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
535 FIXME("(%p/%p)->(): stub\n", iface, This);
537 return FALSE;
540 static D3DRMFOGMODE WINAPI IDirect3DRMFrame2Impl_GetSceneFogMode(IDirect3DRMFrame2* iface)
542 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
544 FIXME("(%p/%p)->(): stub\n", iface, This);
546 return D3DRMFOG_LINEAR;
549 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetSceneFogParams(IDirect3DRMFrame2* iface,
550 D3DVALUE *return_start,
551 D3DVALUE *return_end,
552 D3DVALUE *return_density)
554 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
556 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, return_start, return_end, return_density);
558 return E_NOTIMPL;
561 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackground(IDirect3DRMFrame2* iface,
562 D3DCOLOR color)
564 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
566 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
568 return E_NOTIMPL;
571 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundRGB(IDirect3DRMFrame2* iface,
572 D3DVALUE red, D3DVALUE green,
573 D3DVALUE blue)
575 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
577 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
579 return E_NOTIMPL;
582 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundDepth(IDirect3DRMFrame2* iface,
583 LPDIRECTDRAWSURFACE surface)
585 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
587 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
589 return E_NOTIMPL;
592 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneBackgroundImage(IDirect3DRMFrame2* iface,
593 LPDIRECT3DRMTEXTURE texture)
595 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
597 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
599 return E_NOTIMPL;
602 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogEnable(IDirect3DRMFrame2* iface, BOOL enable)
604 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
606 FIXME("(%p/%p)->(%d): stub\n", iface, This, enable);
608 return E_NOTIMPL;
611 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogColor(IDirect3DRMFrame2* iface,
612 D3DCOLOR color)
614 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
616 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
618 return E_NOTIMPL;
621 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogMode(IDirect3DRMFrame2* iface,
622 D3DRMFOGMODE mode)
624 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
626 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
628 return E_NOTIMPL;
631 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSceneFogParams(IDirect3DRMFrame2* iface,
632 D3DVALUE start, D3DVALUE end,
633 D3DVALUE density)
635 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
637 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, start, end, density);
639 return E_NOTIMPL;
642 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetColor(IDirect3DRMFrame2* iface, D3DCOLOR color)
644 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
646 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
648 return E_NOTIMPL;
651 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetColorRGB(IDirect3DRMFrame2* iface, D3DVALUE red,
652 D3DVALUE green, D3DVALUE blue)
654 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
656 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
658 return E_NOTIMPL;
661 static D3DRMZBUFFERMODE WINAPI IDirect3DRMFrame2Impl_GetZbufferMode(IDirect3DRMFrame2* iface)
663 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
665 FIXME("(%p/%p)->(): stub\n", iface, This);
667 return D3DRMZBUFFER_FROMPARENT;
670 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetMaterialMode(IDirect3DRMFrame2* iface,
671 D3DRMMATERIALMODE mode)
673 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
675 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
677 return E_NOTIMPL;
680 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetOrientation(IDirect3DRMFrame2* iface,
681 LPDIRECT3DRMFRAME reference,
682 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
683 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz )
685 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
687 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface, This, reference,
688 dx, dy, dz, ux, uy, uz);
690 return E_NOTIMPL;
693 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetPosition(IDirect3DRMFrame2* iface,
694 LPDIRECT3DRMFRAME reference,
695 D3DVALUE x, D3DVALUE y, D3DVALUE z)
697 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
699 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface, This, reference, x, y, z);
701 return E_NOTIMPL;
704 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetRotation(IDirect3DRMFrame2* iface,
705 LPDIRECT3DRMFRAME reference,
706 D3DVALUE x, D3DVALUE y, D3DVALUE z,
707 D3DVALUE theta)
709 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
711 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface, This, reference, x, y, z, theta);
713 return E_NOTIMPL;
716 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetSortMode(IDirect3DRMFrame2* iface,
717 D3DRMSORTMODE mode)
719 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
721 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
723 return E_NOTIMPL;
726 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetTexture(IDirect3DRMFrame2* iface,
727 LPDIRECT3DRMTEXTURE texture)
729 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
731 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
733 return E_NOTIMPL;
736 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetTextureTopology(IDirect3DRMFrame2* iface,
737 BOOL wrap_u, BOOL wrap_v)
739 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
741 FIXME("(%p/%p)->(%d,%d): stub\n", iface, This, wrap_u, wrap_v);
743 return E_NOTIMPL;
746 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetVelocity(IDirect3DRMFrame2* iface,
747 LPDIRECT3DRMFRAME reference,
748 D3DVALUE x, D3DVALUE y, D3DVALUE z,
749 BOOL with_rotation)
751 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
753 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface, This, reference, x, y, z, with_rotation);
755 return E_NOTIMPL;
758 static HRESULT WINAPI IDirect3DRMFrame2Impl_SetZbufferMode(IDirect3DRMFrame2* iface,
759 D3DRMZBUFFERMODE mode)
761 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
763 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
765 return E_NOTIMPL;
768 static HRESULT WINAPI IDirect3DRMFrame2Impl_Transform(IDirect3DRMFrame2* iface, D3DVECTOR *d,
769 D3DVECTOR *s)
771 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
773 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
775 return E_NOTIMPL;
778 /*** IDirect3DRMFrame2 methods ***/
779 static HRESULT WINAPI IDirect3DRMFrame2Impl_AddMoveCallback2(IDirect3DRMFrame2* iface,
780 D3DRMFRAMEMOVECALLBACK cb, VOID *arg,
781 DWORD flags)
783 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
785 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, cb, arg, flags);
787 return E_NOTIMPL;
790 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetBox(IDirect3DRMFrame2* iface, LPD3DRMBOX box)
792 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
794 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
796 return E_NOTIMPL;
799 static BOOL WINAPI IDirect3DRMFrame2Impl_GetBoxEnable(IDirect3DRMFrame2* iface)
801 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
803 FIXME("(%p/%p)->(): stub\n", iface, This);
805 return E_NOTIMPL;
808 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetAxes(IDirect3DRMFrame2* iface,
809 LPD3DVECTOR dir, LPD3DVECTOR up)
811 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
813 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, dir, up);
815 return E_NOTIMPL;
818 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetMaterial(IDirect3DRMFrame2* iface,
819 LPDIRECT3DRMMATERIAL *material)
821 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
823 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
825 return E_NOTIMPL;
828 static BOOL WINAPI IDirect3DRMFrame2Impl_GetInheritAxes(IDirect3DRMFrame2* iface)
830 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
832 FIXME("(%p/%p)->(): stub\n", iface, This);
834 return E_NOTIMPL;
837 static HRESULT WINAPI IDirect3DRMFrame2Impl_GetHierarchyBox(IDirect3DRMFrame2* iface,
838 LPD3DRMBOX box)
840 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
842 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
844 return E_NOTIMPL;
847 static const struct IDirect3DRMFrame2Vtbl Direct3DRMFrame2_Vtbl =
849 /*** IUnknown methods ***/
850 IDirect3DRMFrame2Impl_QueryInterface,
851 IDirect3DRMFrame2Impl_AddRef,
852 IDirect3DRMFrame2Impl_Release,
853 /*** IDirect3DRMObject methods ***/
854 IDirect3DRMFrame2Impl_Clone,
855 IDirect3DRMFrame2Impl_AddDestroyCallback,
856 IDirect3DRMFrame2Impl_DeleteDestroyCallback,
857 IDirect3DRMFrame2Impl_SetAppData,
858 IDirect3DRMFrame2Impl_GetAppData,
859 IDirect3DRMFrame2Impl_SetName,
860 IDirect3DRMFrame2Impl_GetName,
861 IDirect3DRMFrame2Impl_GetClassName,
862 /*** IDirect3DRMFrame methods ***/
863 IDirect3DRMFrame2Impl_AddChild,
864 IDirect3DRMFrame2Impl_AddLight,
865 IDirect3DRMFrame2Impl_AddMoveCallback,
866 IDirect3DRMFrame2Impl_AddTransform,
867 IDirect3DRMFrame2Impl_AddTranslation,
868 IDirect3DRMFrame2Impl_AddScale,
869 IDirect3DRMFrame2Impl_AddRotation,
870 IDirect3DRMFrame2Impl_AddVisual,
871 IDirect3DRMFrame2Impl_GetChildren,
872 IDirect3DRMFrame2Impl_GetColor,
873 IDirect3DRMFrame2Impl_GetLights,
874 IDirect3DRMFrame2Impl_GetMaterialMode,
875 IDirect3DRMFrame2Impl_GetParent,
876 IDirect3DRMFrame2Impl_GetPosition,
877 IDirect3DRMFrame2Impl_GetRotation,
878 IDirect3DRMFrame2Impl_GetScene,
879 IDirect3DRMFrame2Impl_GetSortMode,
880 IDirect3DRMFrame2Impl_GetTexture,
881 IDirect3DRMFrame2Impl_GetTransform,
882 IDirect3DRMFrame2Impl_GetVelocity,
883 IDirect3DRMFrame2Impl_GetOrientation,
884 IDirect3DRMFrame2Impl_GetVisuals,
885 IDirect3DRMFrame2Impl_GetTextureTopology,
886 IDirect3DRMFrame2Impl_InverseTransform,
887 IDirect3DRMFrame2Impl_Load,
888 IDirect3DRMFrame2Impl_LookAt,
889 IDirect3DRMFrame2Impl_Move,
890 IDirect3DRMFrame2Impl_DeleteChild,
891 IDirect3DRMFrame2Impl_DeleteLight,
892 IDirect3DRMFrame2Impl_DeleteMoveCallback,
893 IDirect3DRMFrame2Impl_DeleteVisual,
894 IDirect3DRMFrame2Impl_GetSceneBackground,
895 IDirect3DRMFrame2Impl_GetSceneBackgroundDepth,
896 IDirect3DRMFrame2Impl_GetSceneFogColor,
897 IDirect3DRMFrame2Impl_GetSceneFogEnable,
898 IDirect3DRMFrame2Impl_GetSceneFogMode,
899 IDirect3DRMFrame2Impl_GetSceneFogParams,
900 IDirect3DRMFrame2Impl_SetSceneBackground,
901 IDirect3DRMFrame2Impl_SetSceneBackgroundRGB,
902 IDirect3DRMFrame2Impl_SetSceneBackgroundDepth,
903 IDirect3DRMFrame2Impl_SetSceneBackgroundImage,
904 IDirect3DRMFrame2Impl_SetSceneFogEnable,
905 IDirect3DRMFrame2Impl_SetSceneFogColor,
906 IDirect3DRMFrame2Impl_SetSceneFogMode,
907 IDirect3DRMFrame2Impl_SetSceneFogParams,
908 IDirect3DRMFrame2Impl_SetColor,
909 IDirect3DRMFrame2Impl_SetColorRGB,
910 IDirect3DRMFrame2Impl_GetZbufferMode,
911 IDirect3DRMFrame2Impl_SetMaterialMode,
912 IDirect3DRMFrame2Impl_SetOrientation,
913 IDirect3DRMFrame2Impl_SetPosition,
914 IDirect3DRMFrame2Impl_SetRotation,
915 IDirect3DRMFrame2Impl_SetSortMode,
916 IDirect3DRMFrame2Impl_SetTexture,
917 IDirect3DRMFrame2Impl_SetTextureTopology,
918 IDirect3DRMFrame2Impl_SetVelocity,
919 IDirect3DRMFrame2Impl_SetZbufferMode,
920 IDirect3DRMFrame2Impl_Transform,
921 /*** IDirect3DRMFrame2 methods ***/
922 IDirect3DRMFrame2Impl_AddMoveCallback2,
923 IDirect3DRMFrame2Impl_GetBox,
924 IDirect3DRMFrame2Impl_GetBoxEnable,
925 IDirect3DRMFrame2Impl_GetAxes,
926 IDirect3DRMFrame2Impl_GetMaterial,
927 IDirect3DRMFrame2Impl_GetInheritAxes,
928 IDirect3DRMFrame2Impl_GetHierarchyBox
932 /*** IUnknown methods ***/
933 static HRESULT WINAPI IDirect3DRMFrame3Impl_QueryInterface(IDirect3DRMFrame3* iface,
934 REFIID riid, void** object)
936 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
937 return IDirect3DRMFrame_QueryInterface(&This->IDirect3DRMFrame2_iface, riid, object);
940 static ULONG WINAPI IDirect3DRMFrame3Impl_AddRef(IDirect3DRMFrame3* iface)
942 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
943 return IDirect3DRMFrame2_AddRef(&This->IDirect3DRMFrame2_iface);
946 static ULONG WINAPI IDirect3DRMFrame3Impl_Release(IDirect3DRMFrame3* iface)
948 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
949 return IDirect3DRMFrame2_Release(&This->IDirect3DRMFrame2_iface);
952 /*** IDirect3DRMObject methods ***/
953 static HRESULT WINAPI IDirect3DRMFrame3Impl_Clone(IDirect3DRMFrame3* iface,
954 LPUNKNOWN unkwn, REFIID riid,
955 LPVOID* object)
957 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
959 FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface, This, unkwn, debugstr_guid(riid), object);
961 return E_NOTIMPL;
964 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddDestroyCallback(IDirect3DRMFrame3* iface,
965 D3DRMOBJECTCALLBACK cb,
966 LPVOID argument)
968 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
970 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
972 return E_NOTIMPL;
975 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteDestroyCallback(IDirect3DRMFrame3* iface,
976 D3DRMOBJECTCALLBACK cb,
977 LPVOID argument)
979 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
981 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
983 return E_NOTIMPL;
986 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetAppData(IDirect3DRMFrame3* iface,
987 DWORD data)
989 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
991 FIXME("(%p/%p)->(%u): stub\n", iface, This, data);
993 return E_NOTIMPL;
996 static DWORD WINAPI IDirect3DRMFrame3Impl_GetAppData(IDirect3DRMFrame3* iface)
998 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1000 FIXME("(%p/%p)->(): stub\n", iface, This);
1002 return 0;
1005 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetName(IDirect3DRMFrame3* iface, LPCSTR name)
1007 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1009 FIXME("(%p/%p)->(%s): stub\n", iface, This, name);
1011 return E_NOTIMPL;
1014 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetName(IDirect3DRMFrame3* iface,
1015 LPDWORD size, LPSTR name)
1017 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1019 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
1021 return E_NOTIMPL;
1024 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetClassName(IDirect3DRMFrame3* iface,
1025 LPDWORD size, LPSTR name)
1027 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1029 FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
1031 return E_NOTIMPL;
1034 /*** IDirect3DRMFrame methods ***/
1035 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddChild(IDirect3DRMFrame3* iface,
1036 LPDIRECT3DRMFRAME3 child)
1038 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1040 FIXME("(%p/%p)->(%p): stub\n", iface, This, child);
1042 return E_NOTIMPL;
1045 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddLight(IDirect3DRMFrame3* iface,
1046 LPDIRECT3DRMLIGHT light)
1048 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1050 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
1052 return E_NOTIMPL;
1055 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddMoveCallback(IDirect3DRMFrame3* iface,
1056 D3DRMFRAME3MOVECALLBACK cb, VOID *arg,
1057 DWORD flags)
1059 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1061 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, cb, arg, flags);
1063 return E_NOTIMPL;
1066 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTransform(IDirect3DRMFrame3* iface,
1067 D3DRMCOMBINETYPE type,
1068 D3DRMMATRIX4D matrix)
1070 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1072 FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix);
1074 return E_NOTIMPL;
1077 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTranslation(IDirect3DRMFrame3* iface,
1078 D3DRMCOMBINETYPE type,
1079 D3DVALUE x, D3DVALUE y, D3DVALUE z)
1081 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1083 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, x, y, z);
1085 return E_NOTIMPL;
1088 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddScale(IDirect3DRMFrame3* iface,
1089 D3DRMCOMBINETYPE type,
1090 D3DVALUE sx, D3DVALUE sy, D3DVALUE sz)
1092 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1094 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface, This, type, sx, sy, sz);
1096 return E_NOTIMPL;
1099 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddRotation(IDirect3DRMFrame3* iface,
1100 D3DRMCOMBINETYPE type,
1101 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1102 D3DVALUE theta)
1104 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1106 FIXME("(%p/%p)->(%u,%f,%f,%f,%f): stub\n", iface, This, type, x, y, z, theta);
1108 return E_NOTIMPL;
1111 static HRESULT WINAPI IDirect3DRMFrame3Impl_AddVisual(IDirect3DRMFrame3* iface, LPUNKNOWN vis)
1113 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1115 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
1117 return E_NOTIMPL;
1120 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetChildren(IDirect3DRMFrame3* iface,
1121 LPDIRECT3DRMFRAMEARRAY *children)
1123 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1125 FIXME("(%p/%p)->(%p): stub\n", iface, This, children);
1127 return E_NOTIMPL;
1130 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetColor(IDirect3DRMFrame3* iface)
1132 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1134 FIXME("(%p/%p)->(): stub\n", iface, This);
1136 return 0;
1139 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetLights(IDirect3DRMFrame3* iface,
1140 LPDIRECT3DRMLIGHTARRAY *lights)
1142 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1144 FIXME("(%p/%p)->(%p): stub\n", iface, This, lights);
1146 return E_NOTIMPL;
1149 static D3DRMMATERIALMODE WINAPI IDirect3DRMFrame3Impl_GetMaterialMode(IDirect3DRMFrame3* iface)
1151 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1153 FIXME("(%p/%p)->(): stub\n", iface, This);
1155 return D3DRMMATERIAL_FROMPARENT;
1158 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetParent(IDirect3DRMFrame3* iface,
1159 LPDIRECT3DRMFRAME3 * frame)
1161 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1163 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
1165 return E_NOTIMPL;
1168 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetPosition(IDirect3DRMFrame3* iface,
1169 LPDIRECT3DRMFRAME3 reference,
1170 LPD3DVECTOR return_position)
1172 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1174 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_position);
1176 return E_NOTIMPL;
1179 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetRotation(IDirect3DRMFrame3* iface,
1180 LPDIRECT3DRMFRAME3 reference,
1181 LPD3DVECTOR axis, LPD3DVALUE return_theta)
1183 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1185 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, axis, return_theta);
1187 return E_NOTIMPL;
1190 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetScene(IDirect3DRMFrame3* iface,
1191 LPDIRECT3DRMFRAME3 * frame)
1193 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1195 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
1197 return E_NOTIMPL;
1200 static D3DRMSORTMODE WINAPI IDirect3DRMFrame3Impl_GetSortMode(IDirect3DRMFrame3* iface)
1202 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1204 FIXME("(%p/%p)->(): stub\n", iface, This);
1206 return D3DRMSORT_FROMPARENT;
1209 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTexture(IDirect3DRMFrame3* iface,
1210 LPDIRECT3DRMTEXTURE3 * tex)
1212 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1214 FIXME("(%p/%p)->(%p): stub\n", iface, This, tex);
1216 return E_NOTIMPL;
1219 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTransform(IDirect3DRMFrame3* iface,
1220 LPDIRECT3DRMFRAME3 reference,
1221 D3DRMMATRIX4D return_matrix)
1223 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1225 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, return_matrix);
1227 return E_NOTIMPL;
1230 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetVelocity(IDirect3DRMFrame3* iface,
1231 LPDIRECT3DRMFRAME3 reference,
1232 LPD3DVECTOR return_velocity,
1233 BOOL with_rotation)
1235 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1237 FIXME("(%p/%p)->(%p,%p,%d): stub\n", iface, This, reference, return_velocity, with_rotation);
1239 return E_NOTIMPL;
1242 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetOrientation(IDirect3DRMFrame3* iface,
1243 LPDIRECT3DRMFRAME3 reference,
1244 LPD3DVECTOR dir, LPD3DVECTOR up)
1246 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1248 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, reference, dir, up);
1250 return E_NOTIMPL;
1253 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetVisuals(IDirect3DRMFrame3* iface, LPDWORD num,
1254 LPUNKNOWN *visuals)
1256 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1258 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, num, visuals);
1260 return E_NOTIMPL;
1263 static HRESULT WINAPI IDirect3DRMFrame3Impl_InverseTransform(IDirect3DRMFrame3* iface,
1264 D3DVECTOR *d, D3DVECTOR *s)
1266 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1268 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
1270 return E_NOTIMPL;
1273 static HRESULT WINAPI IDirect3DRMFrame3Impl_Load(IDirect3DRMFrame3* iface, LPVOID filename,
1274 LPVOID name, D3DRMLOADOPTIONS loadflags,
1275 D3DRMLOADTEXTURE3CALLBACK cb, LPVOID lpArg)
1277 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1279 FIXME("(%p/%p)->(%p,%p,%u,%p,%p): stub\n", iface, This, filename, name, loadflags, cb, lpArg);
1281 return E_NOTIMPL;
1284 static HRESULT WINAPI IDirect3DRMFrame3Impl_LookAt(IDirect3DRMFrame3* iface,
1285 LPDIRECT3DRMFRAME3 target,
1286 LPDIRECT3DRMFRAME3 reference,
1287 D3DRMFRAMECONSTRAINT constraint)
1289 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1291 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface, This, target, reference, constraint);
1293 return E_NOTIMPL;
1296 static HRESULT WINAPI IDirect3DRMFrame3Impl_Move(IDirect3DRMFrame3* iface, D3DVALUE delta)
1298 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1300 FIXME("(%p/%p)->(%f): stub\n", iface, This, delta);
1302 return E_NOTIMPL;
1305 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteChild(IDirect3DRMFrame3* iface,
1306 LPDIRECT3DRMFRAME3 frame)
1308 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1310 FIXME("(%p/%p)->(%p): stub\n", iface, This, frame);
1312 return E_NOTIMPL;
1315 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteLight(IDirect3DRMFrame3* iface,
1316 LPDIRECT3DRMLIGHT light)
1318 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1320 FIXME("(%p/%p)->(%p): stub\n", iface, This, light);
1322 return E_NOTIMPL;
1325 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteMoveCallback(IDirect3DRMFrame3* iface,
1326 D3DRMFRAME3MOVECALLBACK cb,
1327 VOID *arg)
1329 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1331 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, cb, arg);
1333 return E_NOTIMPL;
1336 static HRESULT WINAPI IDirect3DRMFrame3Impl_DeleteVisual(IDirect3DRMFrame3* iface, LPUNKNOWN vis)
1338 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1340 FIXME("(%p/%p)->(%p): stub\n", iface, This, vis);
1342 return E_NOTIMPL;
1345 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetSceneBackground(IDirect3DRMFrame3* iface)
1347 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1349 FIXME("(%p/%p)->(): stub\n", iface, This);
1351 return 0;
1354 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneBackgroundDepth(IDirect3DRMFrame3* iface,
1355 LPDIRECTDRAWSURFACE * surface)
1357 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1359 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
1361 return E_NOTIMPL;
1364 static D3DCOLOR WINAPI IDirect3DRMFrame3Impl_GetSceneFogColor(IDirect3DRMFrame3* iface)
1366 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1368 FIXME("(%p/%p)->(): stub\n", iface, This);
1370 return 0;
1373 static BOOL WINAPI IDirect3DRMFrame3Impl_GetSceneFogEnable(IDirect3DRMFrame3* iface)
1375 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1377 FIXME("(%p/%p)->(): stub\n", iface, This);
1379 return FALSE;
1382 static D3DRMFOGMODE WINAPI IDirect3DRMFrame3Impl_GetSceneFogMode(IDirect3DRMFrame3* iface)
1384 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1386 FIXME("(%p/%p)->(): stub\n", iface, This);
1388 return D3DRMFOG_LINEAR;
1391 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneFogParams(IDirect3DRMFrame3* iface,
1392 D3DVALUE *return_start,
1393 D3DVALUE *return_end,
1394 D3DVALUE *return_density)
1396 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1398 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface, This, return_start, return_end, return_density);
1400 return E_NOTIMPL;
1403 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackground(IDirect3DRMFrame3* iface,
1404 D3DCOLOR color)
1406 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1408 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1410 return E_NOTIMPL;
1413 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundRGB(IDirect3DRMFrame3* iface,
1414 D3DVALUE red, D3DVALUE green,
1415 D3DVALUE blue)
1417 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1419 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
1421 return E_NOTIMPL;
1424 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundDepth(IDirect3DRMFrame3* iface,
1425 LPDIRECTDRAWSURFACE surface)
1427 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1429 FIXME("(%p/%p)->(%p): stub\n", iface, This, surface);
1431 return E_NOTIMPL;
1434 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneBackgroundImage(IDirect3DRMFrame3* iface,
1435 LPDIRECT3DRMTEXTURE3 texture)
1437 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1439 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
1441 return E_NOTIMPL;
1444 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogEnable(IDirect3DRMFrame3* iface, BOOL enable)
1446 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1448 FIXME("(%p/%p)->(%d): stub\n", iface, This, enable);
1450 return E_NOTIMPL;
1453 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogColor(IDirect3DRMFrame3* iface,
1454 D3DCOLOR color)
1456 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1458 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1460 return E_NOTIMPL;
1463 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogMode(IDirect3DRMFrame3* iface,
1464 D3DRMFOGMODE mode)
1466 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1468 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1470 return E_NOTIMPL;
1473 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogParams(IDirect3DRMFrame3* iface,
1474 D3DVALUE start, D3DVALUE end,
1475 D3DVALUE density)
1477 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1479 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, start, end, density);
1481 return E_NOTIMPL;
1484 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetColor(IDirect3DRMFrame3* iface, D3DCOLOR color)
1486 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1488 FIXME("(%p/%p)->(%u): stub\n", iface, This, color);
1490 return E_NOTIMPL;
1493 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetColorRGB(IDirect3DRMFrame3* iface, D3DVALUE red,
1494 D3DVALUE green, D3DVALUE blue)
1496 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1498 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface, This, red, green, blue);
1500 return E_NOTIMPL;
1503 static D3DRMZBUFFERMODE WINAPI IDirect3DRMFrame3Impl_GetZbufferMode(IDirect3DRMFrame3* iface)
1505 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1507 FIXME("(%p/%p)->(): stub\n", iface, This);
1509 return D3DRMZBUFFER_FROMPARENT;
1512 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterialMode(IDirect3DRMFrame3* iface,
1513 D3DRMMATERIALMODE mode)
1515 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1517 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1519 return E_NOTIMPL;
1522 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetOrientation(IDirect3DRMFrame3* iface,
1523 LPDIRECT3DRMFRAME3 reference,
1524 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1525 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz )
1527 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1529 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface, This, reference,
1530 dx, dy, dz, ux, uy, uz);
1532 return E_NOTIMPL;
1535 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetPosition(IDirect3DRMFrame3* iface,
1536 LPDIRECT3DRMFRAME3 reference,
1537 D3DVALUE x, D3DVALUE y, D3DVALUE z)
1539 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1541 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface, This, reference, x, y, z);
1543 return E_NOTIMPL;
1546 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetRotation(IDirect3DRMFrame3* iface,
1547 LPDIRECT3DRMFRAME3 reference,
1548 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1549 D3DVALUE theta)
1551 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1553 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface, This, reference, x, y, z, theta);
1555 return E_NOTIMPL;
1558 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSortMode(IDirect3DRMFrame3* iface,
1559 D3DRMSORTMODE mode)
1561 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1563 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1565 return E_NOTIMPL;
1568 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetTexture(IDirect3DRMFrame3* iface,
1569 LPDIRECT3DRMTEXTURE3 texture)
1571 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1573 FIXME("(%p/%p)->(%p): stub\n", iface, This, texture);
1575 return E_NOTIMPL;
1578 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetVelocity(IDirect3DRMFrame3* iface,
1579 LPDIRECT3DRMFRAME3 reference,
1580 D3DVALUE x, D3DVALUE y, D3DVALUE z,
1581 BOOL with_rotation)
1583 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1585 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface, This, reference, x, y, z, with_rotation);
1587 return E_NOTIMPL;
1590 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetZbufferMode(IDirect3DRMFrame3* iface,
1591 D3DRMZBUFFERMODE mode)
1593 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1595 FIXME("(%p/%p)->(%u): stub\n", iface, This, mode);
1597 return E_NOTIMPL;
1600 static HRESULT WINAPI IDirect3DRMFrame3Impl_Transform(IDirect3DRMFrame3* iface, D3DVECTOR *d,
1601 D3DVECTOR *s)
1603 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1605 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, d, s);
1607 return E_NOTIMPL;
1610 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetBox(IDirect3DRMFrame3* iface, LPD3DRMBOX box)
1612 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1614 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1616 return E_NOTIMPL;
1619 static BOOL WINAPI IDirect3DRMFrame3Impl_GetBoxEnable(IDirect3DRMFrame3* iface)
1621 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1623 FIXME("(%p/%p)->(): stub\n", iface, This);
1625 return E_NOTIMPL;
1628 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetAxes(IDirect3DRMFrame3* iface,
1629 LPD3DVECTOR dir, LPD3DVECTOR up)
1631 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1633 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, dir, up);
1635 return E_NOTIMPL;
1638 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetMaterial(IDirect3DRMFrame3* iface,
1639 LPDIRECT3DRMMATERIAL2 *material)
1641 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1643 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
1645 return E_NOTIMPL;
1648 static BOOL WINAPI IDirect3DRMFrame3Impl_GetInheritAxes(IDirect3DRMFrame3* iface)
1650 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1652 FIXME("(%p/%p)->(): stub\n", iface, This);
1654 return E_NOTIMPL;
1657 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetHierarchyBox(IDirect3DRMFrame3* iface,
1658 LPD3DRMBOX box)
1660 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1662 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1664 return E_NOTIMPL;
1667 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetBox(IDirect3DRMFrame3* iface, LPD3DRMBOX box)
1669 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1671 FIXME("(%p/%p)->(%p): stub\n", iface, This, box);
1673 return E_NOTIMPL;
1676 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetBoxEnable(IDirect3DRMFrame3* iface, BOOL enable)
1678 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1680 FIXME("(%p/%p)->(%u): stub\n", iface, This, enable);
1682 return E_NOTIMPL;
1685 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetAxes(IDirect3DRMFrame3* iface,
1686 D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
1687 D3DVALUE ux, D3DVALUE uy, D3DVALUE uz)
1689 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1691 FIXME("(%p/%p)->(%f,%f,%f,%f,%f,%f): stub\n", iface, This, dx, dy, dz, ux, uy, uz);
1693 return E_NOTIMPL;
1696 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetInheritAxes(IDirect3DRMFrame3* iface,
1697 BOOL inherit_from_parent)
1699 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1701 FIXME("(%p/%p)->(%u): stub\n", iface, This, inherit_from_parent);
1703 return E_NOTIMPL;
1706 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterial(IDirect3DRMFrame3* iface,
1707 LPDIRECT3DRMMATERIAL2 material)
1709 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1711 FIXME("(%p/%p)->(%p): stub\n", iface, This, material);
1713 return E_NOTIMPL;
1716 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetQuaternion(IDirect3DRMFrame3* iface,
1717 LPDIRECT3DRMFRAME3 reference,
1718 D3DRMQUATERNION *q)
1720 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1722 FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, reference, q);
1724 return E_NOTIMPL;
1727 static HRESULT WINAPI IDirect3DRMFrame3Impl_RayPick(IDirect3DRMFrame3* iface,
1728 LPDIRECT3DRMFRAME3 reference, LPD3DRMRAY ray,
1729 DWORD flags,
1730 LPDIRECT3DRMPICKED2ARRAY *return_visuals)
1732 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1734 FIXME("(%p/%p)->(%p,%p,%u,%p): stub\n", iface, This, reference, ray, flags, return_visuals);
1736 return E_NOTIMPL;
1739 static HRESULT WINAPI IDirect3DRMFrame3Impl_Save(IDirect3DRMFrame3* iface, LPCSTR filename,
1740 D3DRMXOFFORMAT d3dFormat,
1741 D3DRMSAVEOPTIONS d3dSaveFlags)
1743 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1745 FIXME("(%p/%p)->(%p,%u,%u): stub\n", iface, This, filename, d3dFormat, d3dSaveFlags);
1747 return E_NOTIMPL;
1750 static HRESULT WINAPI IDirect3DRMFrame3Impl_TransformVectors(IDirect3DRMFrame3* iface,
1751 LPDIRECT3DRMFRAME3 reference,
1752 DWORD num, LPD3DVECTOR dst,
1753 LPD3DVECTOR src)
1755 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1757 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface, This, reference, num, dst, src);
1759 return E_NOTIMPL;
1762 static HRESULT WINAPI IDirect3DRMFrame3Impl_InverseTransformVectors(IDirect3DRMFrame3* iface,
1763 LPDIRECT3DRMFRAME3 reference,
1764 DWORD num, LPD3DVECTOR dst,
1765 LPD3DVECTOR src)
1767 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1769 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface, This, reference, num, dst, src);
1771 return E_NOTIMPL;
1774 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetTraversalOptions(IDirect3DRMFrame3* iface,
1775 DWORD flags)
1777 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1779 FIXME("(%p/%p)->(%u): stub\n", iface, This, flags);
1781 return E_NOTIMPL;
1784 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetTraversalOptions(IDirect3DRMFrame3* iface,
1785 LPDWORD flags)
1787 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1789 FIXME("(%p/%p)->(%p): stub\n", iface, This, flags);
1791 return E_NOTIMPL;
1794 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetSceneFogMethod(IDirect3DRMFrame3* iface,
1795 DWORD flags)
1797 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1799 FIXME("(%p/%p)->(%u): stub\n", iface, This, flags);
1801 return E_NOTIMPL;
1804 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetSceneFogMethod(IDirect3DRMFrame3* iface,
1805 LPDWORD flags)
1807 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1809 FIXME("(%p/%p)->(%p): stub\n", iface, This, flags);
1811 return E_NOTIMPL;
1814 static HRESULT WINAPI IDirect3DRMFrame3Impl_SetMaterialOverride(IDirect3DRMFrame3* iface,
1815 LPD3DRMMATERIALOVERRIDE override)
1817 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1819 FIXME("(%p/%p)->(%p): stub\n", iface, This, override);
1821 return E_NOTIMPL;
1824 static HRESULT WINAPI IDirect3DRMFrame3Impl_GetMaterialOverride(IDirect3DRMFrame3* iface,
1825 LPD3DRMMATERIALOVERRIDE override)
1827 IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
1829 FIXME("(%p/%p)->(%p): stub\n", iface, This, override);
1831 return E_NOTIMPL;
1834 static const struct IDirect3DRMFrame3Vtbl Direct3DRMFrame3_Vtbl =
1836 /*** IUnknown methods ***/
1837 IDirect3DRMFrame3Impl_QueryInterface,
1838 IDirect3DRMFrame3Impl_AddRef,
1839 IDirect3DRMFrame3Impl_Release,
1840 /*** IDirect3DRMObject methods ***/
1841 IDirect3DRMFrame3Impl_Clone,
1842 IDirect3DRMFrame3Impl_AddDestroyCallback,
1843 IDirect3DRMFrame3Impl_DeleteDestroyCallback,
1844 IDirect3DRMFrame3Impl_SetAppData,
1845 IDirect3DRMFrame3Impl_GetAppData,
1846 IDirect3DRMFrame3Impl_SetName,
1847 IDirect3DRMFrame3Impl_GetName,
1848 IDirect3DRMFrame3Impl_GetClassName,
1849 /*** IDirect3DRMFrame3 methods ***/
1850 IDirect3DRMFrame3Impl_AddChild,
1851 IDirect3DRMFrame3Impl_AddLight,
1852 IDirect3DRMFrame3Impl_AddMoveCallback,
1853 IDirect3DRMFrame3Impl_AddTransform,
1854 IDirect3DRMFrame3Impl_AddTranslation,
1855 IDirect3DRMFrame3Impl_AddScale,
1856 IDirect3DRMFrame3Impl_AddRotation,
1857 IDirect3DRMFrame3Impl_AddVisual,
1858 IDirect3DRMFrame3Impl_GetChildren,
1859 IDirect3DRMFrame3Impl_GetColor,
1860 IDirect3DRMFrame3Impl_GetLights,
1861 IDirect3DRMFrame3Impl_GetMaterialMode,
1862 IDirect3DRMFrame3Impl_GetParent,
1863 IDirect3DRMFrame3Impl_GetPosition,
1864 IDirect3DRMFrame3Impl_GetRotation,
1865 IDirect3DRMFrame3Impl_GetScene,
1866 IDirect3DRMFrame3Impl_GetSortMode,
1867 IDirect3DRMFrame3Impl_GetTexture,
1868 IDirect3DRMFrame3Impl_GetTransform,
1869 IDirect3DRMFrame3Impl_GetVelocity,
1870 IDirect3DRMFrame3Impl_GetOrientation,
1871 IDirect3DRMFrame3Impl_GetVisuals,
1872 IDirect3DRMFrame3Impl_InverseTransform,
1873 IDirect3DRMFrame3Impl_Load,
1874 IDirect3DRMFrame3Impl_LookAt,
1875 IDirect3DRMFrame3Impl_Move,
1876 IDirect3DRMFrame3Impl_DeleteChild,
1877 IDirect3DRMFrame3Impl_DeleteLight,
1878 IDirect3DRMFrame3Impl_DeleteMoveCallback,
1879 IDirect3DRMFrame3Impl_DeleteVisual,
1880 IDirect3DRMFrame3Impl_GetSceneBackground,
1881 IDirect3DRMFrame3Impl_GetSceneBackgroundDepth,
1882 IDirect3DRMFrame3Impl_GetSceneFogColor,
1883 IDirect3DRMFrame3Impl_GetSceneFogEnable,
1884 IDirect3DRMFrame3Impl_GetSceneFogMode,
1885 IDirect3DRMFrame3Impl_GetSceneFogParams,
1886 IDirect3DRMFrame3Impl_SetSceneBackground,
1887 IDirect3DRMFrame3Impl_SetSceneBackgroundRGB,
1888 IDirect3DRMFrame3Impl_SetSceneBackgroundDepth,
1889 IDirect3DRMFrame3Impl_SetSceneBackgroundImage,
1890 IDirect3DRMFrame3Impl_SetSceneFogEnable,
1891 IDirect3DRMFrame3Impl_SetSceneFogColor,
1892 IDirect3DRMFrame3Impl_SetSceneFogMode,
1893 IDirect3DRMFrame3Impl_SetSceneFogParams,
1894 IDirect3DRMFrame3Impl_SetColor,
1895 IDirect3DRMFrame3Impl_SetColorRGB,
1896 IDirect3DRMFrame3Impl_GetZbufferMode,
1897 IDirect3DRMFrame3Impl_SetMaterialMode,
1898 IDirect3DRMFrame3Impl_SetOrientation,
1899 IDirect3DRMFrame3Impl_SetPosition,
1900 IDirect3DRMFrame3Impl_SetRotation,
1901 IDirect3DRMFrame3Impl_SetSortMode,
1902 IDirect3DRMFrame3Impl_SetTexture,
1903 IDirect3DRMFrame3Impl_SetVelocity,
1904 IDirect3DRMFrame3Impl_SetZbufferMode,
1905 IDirect3DRMFrame3Impl_Transform,
1906 IDirect3DRMFrame3Impl_GetBox,
1907 IDirect3DRMFrame3Impl_GetBoxEnable,
1908 IDirect3DRMFrame3Impl_GetAxes,
1909 IDirect3DRMFrame3Impl_GetMaterial,
1910 IDirect3DRMFrame3Impl_GetInheritAxes,
1911 IDirect3DRMFrame3Impl_GetHierarchyBox,
1912 IDirect3DRMFrame3Impl_SetBox,
1913 IDirect3DRMFrame3Impl_SetBoxEnable,
1914 IDirect3DRMFrame3Impl_SetAxes,
1915 IDirect3DRMFrame3Impl_SetInheritAxes,
1916 IDirect3DRMFrame3Impl_SetMaterial,
1917 IDirect3DRMFrame3Impl_SetQuaternion,
1918 IDirect3DRMFrame3Impl_RayPick,
1919 IDirect3DRMFrame3Impl_Save,
1920 IDirect3DRMFrame3Impl_TransformVectors,
1921 IDirect3DRMFrame3Impl_InverseTransformVectors,
1922 IDirect3DRMFrame3Impl_SetTraversalOptions,
1923 IDirect3DRMFrame3Impl_GetTraversalOptions,
1924 IDirect3DRMFrame3Impl_SetSceneFogMethod,
1925 IDirect3DRMFrame3Impl_GetSceneFogMethod,
1926 IDirect3DRMFrame3Impl_SetMaterialOverride,
1927 IDirect3DRMFrame3Impl_GetMaterialOverride
1930 HRESULT Direct3DRMFrame_create(REFIID riid, IUnknown** ppObj)
1932 IDirect3DRMFrameImpl* object;
1934 TRACE("(%p)\n", ppObj);
1936 object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirect3DRMFrameImpl));
1937 if (!object)
1939 ERR("Out of memory\n");
1940 return E_OUTOFMEMORY;
1943 object->IDirect3DRMFrame2_iface.lpVtbl = &Direct3DRMFrame2_Vtbl;
1944 object->IDirect3DRMFrame3_iface.lpVtbl = &Direct3DRMFrame3_Vtbl;
1945 object->ref = 1;
1947 if (IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
1948 *ppObj = (IUnknown*)&object->IDirect3DRMFrame3_iface;
1949 else
1950 *ppObj = (IUnknown*)&object->IDirect3DRMFrame2_iface;
1952 return S_OK;