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
);
486 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, frame
);
491 static HRESULT WINAPI
IDirect3DRMFrame2Impl_DeleteLight(IDirect3DRMFrame2
* iface
,
492 LPDIRECT3DRMLIGHT light
)
494 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
496 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, light
);
501 static HRESULT WINAPI
IDirect3DRMFrame2Impl_DeleteMoveCallback(IDirect3DRMFrame2
* iface
,
502 D3DRMFRAMEMOVECALLBACK cb
, VOID
*arg
)
504 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
506 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, cb
, arg
);
511 static HRESULT WINAPI
IDirect3DRMFrame2Impl_DeleteVisual(IDirect3DRMFrame2
* iface
,
512 LPDIRECT3DRMVISUAL vis
)
514 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
516 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, vis
);
521 static D3DCOLOR WINAPI
IDirect3DRMFrame2Impl_GetSceneBackground(IDirect3DRMFrame2
* iface
)
523 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
525 FIXME("(%p/%p)->(): stub\n", iface
, This
);
530 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetSceneBackgroundDepth(IDirect3DRMFrame2
* iface
,
531 LPDIRECTDRAWSURFACE
* surface
)
533 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
535 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, surface
);
540 static D3DCOLOR WINAPI
IDirect3DRMFrame2Impl_GetSceneFogColor(IDirect3DRMFrame2
* iface
)
542 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
544 FIXME("(%p/%p)->(): stub\n", iface
, This
);
549 static BOOL WINAPI
IDirect3DRMFrame2Impl_GetSceneFogEnable(IDirect3DRMFrame2
* iface
)
551 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
553 FIXME("(%p/%p)->(): stub\n", iface
, This
);
558 static D3DRMFOGMODE WINAPI
IDirect3DRMFrame2Impl_GetSceneFogMode(IDirect3DRMFrame2
* iface
)
560 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
562 FIXME("(%p/%p)->(): stub\n", iface
, This
);
564 return D3DRMFOG_LINEAR
;
567 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetSceneFogParams(IDirect3DRMFrame2
* iface
,
568 D3DVALUE
*return_start
,
569 D3DVALUE
*return_end
,
570 D3DVALUE
*return_density
)
572 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
574 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface
, This
, return_start
, return_end
, return_density
);
579 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneBackground(IDirect3DRMFrame2
* iface
,
582 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
584 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
589 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneBackgroundRGB(IDirect3DRMFrame2
* iface
,
590 D3DVALUE red
, D3DVALUE green
,
593 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
595 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, red
, green
, blue
);
600 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneBackgroundDepth(IDirect3DRMFrame2
* iface
,
601 LPDIRECTDRAWSURFACE surface
)
603 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
605 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, surface
);
610 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneBackgroundImage(IDirect3DRMFrame2
* iface
,
611 LPDIRECT3DRMTEXTURE texture
)
613 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
615 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, texture
);
620 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneFogEnable(IDirect3DRMFrame2
* iface
, BOOL enable
)
622 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
624 FIXME("(%p/%p)->(%d): stub\n", iface
, This
, enable
);
629 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneFogColor(IDirect3DRMFrame2
* iface
,
632 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
634 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
639 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneFogMode(IDirect3DRMFrame2
* iface
,
642 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
644 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
649 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSceneFogParams(IDirect3DRMFrame2
* iface
,
650 D3DVALUE start
, D3DVALUE end
,
653 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
655 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, start
, end
, density
);
660 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetColor(IDirect3DRMFrame2
* iface
, D3DCOLOR color
)
662 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
664 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
669 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetColorRGB(IDirect3DRMFrame2
* iface
, D3DVALUE red
,
670 D3DVALUE green
, D3DVALUE blue
)
672 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
674 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, red
, green
, blue
);
679 static D3DRMZBUFFERMODE WINAPI
IDirect3DRMFrame2Impl_GetZbufferMode(IDirect3DRMFrame2
* iface
)
681 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
683 FIXME("(%p/%p)->(): stub\n", iface
, This
);
685 return D3DRMZBUFFER_FROMPARENT
;
688 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetMaterialMode(IDirect3DRMFrame2
* iface
,
689 D3DRMMATERIALMODE mode
)
691 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
693 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
698 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetOrientation(IDirect3DRMFrame2
* iface
,
699 LPDIRECT3DRMFRAME reference
,
700 D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
701 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
)
703 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
705 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface
, This
, reference
,
706 dx
, dy
, dz
, ux
, uy
, uz
);
711 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetPosition(IDirect3DRMFrame2
* iface
,
712 LPDIRECT3DRMFRAME reference
,
713 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
)
715 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
717 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface
, This
, reference
, x
, y
, z
);
722 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetRotation(IDirect3DRMFrame2
* iface
,
723 LPDIRECT3DRMFRAME reference
,
724 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
727 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
729 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface
, This
, reference
, x
, y
, z
, theta
);
734 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetSortMode(IDirect3DRMFrame2
* iface
,
737 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
739 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
744 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetTexture(IDirect3DRMFrame2
* iface
,
745 LPDIRECT3DRMTEXTURE texture
)
747 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
749 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, texture
);
754 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetTextureTopology(IDirect3DRMFrame2
* iface
,
755 BOOL wrap_u
, BOOL wrap_v
)
757 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
759 FIXME("(%p/%p)->(%d,%d): stub\n", iface
, This
, wrap_u
, wrap_v
);
764 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetVelocity(IDirect3DRMFrame2
* iface
,
765 LPDIRECT3DRMFRAME reference
,
766 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
769 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
771 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface
, This
, reference
, x
, y
, z
, with_rotation
);
776 static HRESULT WINAPI
IDirect3DRMFrame2Impl_SetZbufferMode(IDirect3DRMFrame2
* iface
,
777 D3DRMZBUFFERMODE mode
)
779 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
781 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
786 static HRESULT WINAPI
IDirect3DRMFrame2Impl_Transform(IDirect3DRMFrame2
* iface
, D3DVECTOR
*d
,
789 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
791 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, d
, s
);
796 /*** IDirect3DRMFrame2 methods ***/
797 static HRESULT WINAPI
IDirect3DRMFrame2Impl_AddMoveCallback2(IDirect3DRMFrame2
* iface
,
798 D3DRMFRAMEMOVECALLBACK cb
, VOID
*arg
,
801 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
803 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface
, This
, cb
, arg
, flags
);
808 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetBox(IDirect3DRMFrame2
* iface
, LPD3DRMBOX box
)
810 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
812 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, box
);
817 static BOOL WINAPI
IDirect3DRMFrame2Impl_GetBoxEnable(IDirect3DRMFrame2
* iface
)
819 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
821 FIXME("(%p/%p)->(): stub\n", iface
, This
);
826 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetAxes(IDirect3DRMFrame2
* iface
,
827 LPD3DVECTOR dir
, LPD3DVECTOR up
)
829 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
831 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, dir
, up
);
836 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetMaterial(IDirect3DRMFrame2
* iface
,
837 LPDIRECT3DRMMATERIAL
*material
)
839 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
841 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, material
);
846 static BOOL WINAPI
IDirect3DRMFrame2Impl_GetInheritAxes(IDirect3DRMFrame2
* iface
)
848 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
850 FIXME("(%p/%p)->(): stub\n", iface
, This
);
855 static HRESULT WINAPI
IDirect3DRMFrame2Impl_GetHierarchyBox(IDirect3DRMFrame2
* iface
,
858 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame2(iface
);
860 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, box
);
865 static const struct IDirect3DRMFrame2Vtbl Direct3DRMFrame2_Vtbl
=
867 /*** IUnknown methods ***/
868 IDirect3DRMFrame2Impl_QueryInterface
,
869 IDirect3DRMFrame2Impl_AddRef
,
870 IDirect3DRMFrame2Impl_Release
,
871 /*** IDirect3DRMObject methods ***/
872 IDirect3DRMFrame2Impl_Clone
,
873 IDirect3DRMFrame2Impl_AddDestroyCallback
,
874 IDirect3DRMFrame2Impl_DeleteDestroyCallback
,
875 IDirect3DRMFrame2Impl_SetAppData
,
876 IDirect3DRMFrame2Impl_GetAppData
,
877 IDirect3DRMFrame2Impl_SetName
,
878 IDirect3DRMFrame2Impl_GetName
,
879 IDirect3DRMFrame2Impl_GetClassName
,
880 /*** IDirect3DRMFrame methods ***/
881 IDirect3DRMFrame2Impl_AddChild
,
882 IDirect3DRMFrame2Impl_AddLight
,
883 IDirect3DRMFrame2Impl_AddMoveCallback
,
884 IDirect3DRMFrame2Impl_AddTransform
,
885 IDirect3DRMFrame2Impl_AddTranslation
,
886 IDirect3DRMFrame2Impl_AddScale
,
887 IDirect3DRMFrame2Impl_AddRotation
,
888 IDirect3DRMFrame2Impl_AddVisual
,
889 IDirect3DRMFrame2Impl_GetChildren
,
890 IDirect3DRMFrame2Impl_GetColor
,
891 IDirect3DRMFrame2Impl_GetLights
,
892 IDirect3DRMFrame2Impl_GetMaterialMode
,
893 IDirect3DRMFrame2Impl_GetParent
,
894 IDirect3DRMFrame2Impl_GetPosition
,
895 IDirect3DRMFrame2Impl_GetRotation
,
896 IDirect3DRMFrame2Impl_GetScene
,
897 IDirect3DRMFrame2Impl_GetSortMode
,
898 IDirect3DRMFrame2Impl_GetTexture
,
899 IDirect3DRMFrame2Impl_GetTransform
,
900 IDirect3DRMFrame2Impl_GetVelocity
,
901 IDirect3DRMFrame2Impl_GetOrientation
,
902 IDirect3DRMFrame2Impl_GetVisuals
,
903 IDirect3DRMFrame2Impl_GetTextureTopology
,
904 IDirect3DRMFrame2Impl_InverseTransform
,
905 IDirect3DRMFrame2Impl_Load
,
906 IDirect3DRMFrame2Impl_LookAt
,
907 IDirect3DRMFrame2Impl_Move
,
908 IDirect3DRMFrame2Impl_DeleteChild
,
909 IDirect3DRMFrame2Impl_DeleteLight
,
910 IDirect3DRMFrame2Impl_DeleteMoveCallback
,
911 IDirect3DRMFrame2Impl_DeleteVisual
,
912 IDirect3DRMFrame2Impl_GetSceneBackground
,
913 IDirect3DRMFrame2Impl_GetSceneBackgroundDepth
,
914 IDirect3DRMFrame2Impl_GetSceneFogColor
,
915 IDirect3DRMFrame2Impl_GetSceneFogEnable
,
916 IDirect3DRMFrame2Impl_GetSceneFogMode
,
917 IDirect3DRMFrame2Impl_GetSceneFogParams
,
918 IDirect3DRMFrame2Impl_SetSceneBackground
,
919 IDirect3DRMFrame2Impl_SetSceneBackgroundRGB
,
920 IDirect3DRMFrame2Impl_SetSceneBackgroundDepth
,
921 IDirect3DRMFrame2Impl_SetSceneBackgroundImage
,
922 IDirect3DRMFrame2Impl_SetSceneFogEnable
,
923 IDirect3DRMFrame2Impl_SetSceneFogColor
,
924 IDirect3DRMFrame2Impl_SetSceneFogMode
,
925 IDirect3DRMFrame2Impl_SetSceneFogParams
,
926 IDirect3DRMFrame2Impl_SetColor
,
927 IDirect3DRMFrame2Impl_SetColorRGB
,
928 IDirect3DRMFrame2Impl_GetZbufferMode
,
929 IDirect3DRMFrame2Impl_SetMaterialMode
,
930 IDirect3DRMFrame2Impl_SetOrientation
,
931 IDirect3DRMFrame2Impl_SetPosition
,
932 IDirect3DRMFrame2Impl_SetRotation
,
933 IDirect3DRMFrame2Impl_SetSortMode
,
934 IDirect3DRMFrame2Impl_SetTexture
,
935 IDirect3DRMFrame2Impl_SetTextureTopology
,
936 IDirect3DRMFrame2Impl_SetVelocity
,
937 IDirect3DRMFrame2Impl_SetZbufferMode
,
938 IDirect3DRMFrame2Impl_Transform
,
939 /*** IDirect3DRMFrame2 methods ***/
940 IDirect3DRMFrame2Impl_AddMoveCallback2
,
941 IDirect3DRMFrame2Impl_GetBox
,
942 IDirect3DRMFrame2Impl_GetBoxEnable
,
943 IDirect3DRMFrame2Impl_GetAxes
,
944 IDirect3DRMFrame2Impl_GetMaterial
,
945 IDirect3DRMFrame2Impl_GetInheritAxes
,
946 IDirect3DRMFrame2Impl_GetHierarchyBox
949 /*** IUnknown methods ***/
950 static HRESULT WINAPI
IDirect3DRMFrame3Impl_QueryInterface(IDirect3DRMFrame3
* iface
,
951 REFIID riid
, void** object
)
953 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
954 return IDirect3DRMFrame_QueryInterface(&This
->IDirect3DRMFrame2_iface
, riid
, object
);
957 static ULONG WINAPI
IDirect3DRMFrame3Impl_AddRef(IDirect3DRMFrame3
* iface
)
959 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
960 return IDirect3DRMFrame2_AddRef(&This
->IDirect3DRMFrame2_iface
);
963 static ULONG WINAPI
IDirect3DRMFrame3Impl_Release(IDirect3DRMFrame3
* iface
)
965 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
966 return IDirect3DRMFrame2_Release(&This
->IDirect3DRMFrame2_iface
);
969 /*** IDirect3DRMObject methods ***/
970 static HRESULT WINAPI
IDirect3DRMFrame3Impl_Clone(IDirect3DRMFrame3
* iface
,
971 LPUNKNOWN unkwn
, REFIID riid
,
974 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
976 FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface
, This
, unkwn
, debugstr_guid(riid
), object
);
981 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddDestroyCallback(IDirect3DRMFrame3
* iface
,
982 D3DRMOBJECTCALLBACK cb
,
985 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
987 FIXME("(%p/%p)->(%p, %p): stub\n", iface
, This
, cb
, argument
);
992 static HRESULT WINAPI
IDirect3DRMFrame3Impl_DeleteDestroyCallback(IDirect3DRMFrame3
* iface
,
993 D3DRMOBJECTCALLBACK cb
,
996 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
998 FIXME("(%p/%p)->(%p, %p): stub\n", iface
, This
, cb
, argument
);
1003 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetAppData(IDirect3DRMFrame3
* iface
,
1006 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1008 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, data
);
1013 static DWORD WINAPI
IDirect3DRMFrame3Impl_GetAppData(IDirect3DRMFrame3
* iface
)
1015 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1017 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1022 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetName(IDirect3DRMFrame3
* iface
, LPCSTR name
)
1024 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1026 FIXME("(%p/%p)->(%s): stub\n", iface
, This
, name
);
1031 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetName(IDirect3DRMFrame3
* iface
,
1032 LPDWORD size
, LPSTR name
)
1034 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1036 FIXME("(%p/%p)->(%p, %p): stub\n", iface
, This
, size
, name
);
1041 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetClassName(IDirect3DRMFrame3
* iface
,
1042 LPDWORD size
, LPSTR name
)
1044 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1046 FIXME("(%p/%p)->(%p, %p): stub\n", iface
, This
, size
, name
);
1051 /*** IDirect3DRMFrame methods ***/
1052 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddChild(IDirect3DRMFrame3
* iface
,
1053 LPDIRECT3DRMFRAME3 child
)
1055 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1057 IDirect3DRMFrame3
** children
;
1059 TRACE("(%p/%p)->(%p)\n", iface
, This
, child
);
1062 return D3DRMERR_BADOBJECT
;
1064 /* Check if already existing and return gracefully without increasing ref count */
1065 for (i
= 0; i
< This
->nb_children
; i
++)
1066 if (This
->children
[i
] == child
)
1069 if ((This
->nb_children
+ 1) > This
->children_capacity
)
1073 if (!This
->children_capacity
)
1076 children
= HeapAlloc(GetProcessHeap(), 0, new_capacity
* sizeof(IDirect3DRMFrame3
*));
1080 new_capacity
= This
->children_capacity
* 2;
1081 children
= HeapReAlloc(GetProcessHeap(), 0, This
->children
, new_capacity
* sizeof(IDirect3DRMFrame3
*));
1085 return E_OUTOFMEMORY
;
1087 This
->children_capacity
= new_capacity
;
1088 This
->children
= children
;
1091 This
->children
[This
->nb_children
++] = child
;
1092 IDirect3DRMFrame3_AddRef(child
);
1097 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddLight(IDirect3DRMFrame3
* iface
,
1098 LPDIRECT3DRMLIGHT light
)
1100 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1102 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, light
);
1107 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddMoveCallback(IDirect3DRMFrame3
* iface
,
1108 D3DRMFRAME3MOVECALLBACK cb
, VOID
*arg
,
1111 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1113 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface
, This
, cb
, arg
, flags
);
1118 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddTransform(IDirect3DRMFrame3
* iface
,
1119 D3DRMCOMBINETYPE type
,
1120 D3DRMMATRIX4D matrix
)
1122 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1124 FIXME("(%p/%p)->(%u,%p): stub\n", iface
, This
, type
, matrix
);
1129 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddTranslation(IDirect3DRMFrame3
* iface
,
1130 D3DRMCOMBINETYPE type
,
1131 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
)
1133 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1135 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface
, This
, type
, x
, y
, z
);
1140 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddScale(IDirect3DRMFrame3
* iface
,
1141 D3DRMCOMBINETYPE type
,
1142 D3DVALUE sx
, D3DVALUE sy
, D3DVALUE sz
)
1144 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1146 FIXME("(%p/%p)->(%u,%f,%f,%f): stub\n", iface
, This
, type
, sx
, sy
, sz
);
1151 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddRotation(IDirect3DRMFrame3
* iface
,
1152 D3DRMCOMBINETYPE type
,
1153 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
1156 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1158 FIXME("(%p/%p)->(%u,%f,%f,%f,%f): stub\n", iface
, This
, type
, x
, y
, z
, theta
);
1163 static HRESULT WINAPI
IDirect3DRMFrame3Impl_AddVisual(IDirect3DRMFrame3
* iface
, LPUNKNOWN vis
)
1165 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1167 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, vis
);
1172 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetChildren(IDirect3DRMFrame3
* iface
,
1173 LPDIRECT3DRMFRAMEARRAY
*children
)
1175 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1177 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, children
);
1182 static D3DCOLOR WINAPI
IDirect3DRMFrame3Impl_GetColor(IDirect3DRMFrame3
* iface
)
1184 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1186 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1191 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetLights(IDirect3DRMFrame3
* iface
,
1192 LPDIRECT3DRMLIGHTARRAY
*lights
)
1194 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1196 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, lights
);
1201 static D3DRMMATERIALMODE WINAPI
IDirect3DRMFrame3Impl_GetMaterialMode(IDirect3DRMFrame3
* iface
)
1203 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1205 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1207 return D3DRMMATERIAL_FROMPARENT
;
1210 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetParent(IDirect3DRMFrame3
* iface
,
1211 LPDIRECT3DRMFRAME3
* frame
)
1213 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1215 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, frame
);
1220 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetPosition(IDirect3DRMFrame3
* iface
,
1221 LPDIRECT3DRMFRAME3 reference
,
1222 LPD3DVECTOR return_position
)
1224 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1226 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, reference
, return_position
);
1231 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetRotation(IDirect3DRMFrame3
* iface
,
1232 LPDIRECT3DRMFRAME3 reference
,
1233 LPD3DVECTOR axis
, LPD3DVALUE return_theta
)
1235 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1237 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface
, This
, reference
, axis
, return_theta
);
1242 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetScene(IDirect3DRMFrame3
* iface
,
1243 LPDIRECT3DRMFRAME3
* frame
)
1245 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1247 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, frame
);
1252 static D3DRMSORTMODE WINAPI
IDirect3DRMFrame3Impl_GetSortMode(IDirect3DRMFrame3
* iface
)
1254 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1256 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1258 return D3DRMSORT_FROMPARENT
;
1261 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetTexture(IDirect3DRMFrame3
* iface
,
1262 LPDIRECT3DRMTEXTURE3
* tex
)
1264 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1266 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, tex
);
1271 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetTransform(IDirect3DRMFrame3
* iface
,
1272 LPDIRECT3DRMFRAME3 reference
,
1273 D3DRMMATRIX4D return_matrix
)
1275 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1277 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, reference
, return_matrix
);
1282 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetVelocity(IDirect3DRMFrame3
* iface
,
1283 LPDIRECT3DRMFRAME3 reference
,
1284 LPD3DVECTOR return_velocity
,
1287 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1289 FIXME("(%p/%p)->(%p,%p,%d): stub\n", iface
, This
, reference
, return_velocity
, with_rotation
);
1294 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetOrientation(IDirect3DRMFrame3
* iface
,
1295 LPDIRECT3DRMFRAME3 reference
,
1296 LPD3DVECTOR dir
, LPD3DVECTOR up
)
1298 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1300 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface
, This
, reference
, dir
, up
);
1305 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetVisuals(IDirect3DRMFrame3
* iface
, LPDWORD num
,
1308 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1310 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, num
, visuals
);
1315 static HRESULT WINAPI
IDirect3DRMFrame3Impl_InverseTransform(IDirect3DRMFrame3
* iface
,
1316 D3DVECTOR
*d
, D3DVECTOR
*s
)
1318 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1320 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, d
, s
);
1325 static HRESULT WINAPI
IDirect3DRMFrame3Impl_Load(IDirect3DRMFrame3
* iface
, LPVOID filename
,
1326 LPVOID name
, D3DRMLOADOPTIONS loadflags
,
1327 D3DRMLOADTEXTURE3CALLBACK cb
, LPVOID lpArg
)
1329 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1331 FIXME("(%p/%p)->(%p,%p,%u,%p,%p): stub\n", iface
, This
, filename
, name
, loadflags
, cb
, lpArg
);
1336 static HRESULT WINAPI
IDirect3DRMFrame3Impl_LookAt(IDirect3DRMFrame3
* iface
,
1337 LPDIRECT3DRMFRAME3 target
,
1338 LPDIRECT3DRMFRAME3 reference
,
1339 D3DRMFRAMECONSTRAINT constraint
)
1341 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1343 FIXME("(%p/%p)->(%p,%p,%u): stub\n", iface
, This
, target
, reference
, constraint
);
1348 static HRESULT WINAPI
IDirect3DRMFrame3Impl_Move(IDirect3DRMFrame3
* iface
, D3DVALUE delta
)
1350 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1352 FIXME("(%p/%p)->(%f): stub\n", iface
, This
, delta
);
1357 static HRESULT WINAPI
IDirect3DRMFrame3Impl_DeleteChild(IDirect3DRMFrame3
* iface
,
1358 LPDIRECT3DRMFRAME3 frame
)
1360 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1362 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, frame
);
1367 static HRESULT WINAPI
IDirect3DRMFrame3Impl_DeleteLight(IDirect3DRMFrame3
* iface
,
1368 LPDIRECT3DRMLIGHT light
)
1370 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1372 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, light
);
1377 static HRESULT WINAPI
IDirect3DRMFrame3Impl_DeleteMoveCallback(IDirect3DRMFrame3
* iface
,
1378 D3DRMFRAME3MOVECALLBACK cb
,
1381 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1383 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, cb
, arg
);
1388 static HRESULT WINAPI
IDirect3DRMFrame3Impl_DeleteVisual(IDirect3DRMFrame3
* iface
, LPUNKNOWN vis
)
1390 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1392 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, vis
);
1397 static D3DCOLOR WINAPI
IDirect3DRMFrame3Impl_GetSceneBackground(IDirect3DRMFrame3
* iface
)
1399 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1401 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1406 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetSceneBackgroundDepth(IDirect3DRMFrame3
* iface
,
1407 LPDIRECTDRAWSURFACE
* surface
)
1409 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1411 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, surface
);
1416 static D3DCOLOR WINAPI
IDirect3DRMFrame3Impl_GetSceneFogColor(IDirect3DRMFrame3
* iface
)
1418 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1420 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1425 static BOOL WINAPI
IDirect3DRMFrame3Impl_GetSceneFogEnable(IDirect3DRMFrame3
* iface
)
1427 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1429 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1434 static D3DRMFOGMODE WINAPI
IDirect3DRMFrame3Impl_GetSceneFogMode(IDirect3DRMFrame3
* iface
)
1436 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1438 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1440 return D3DRMFOG_LINEAR
;
1443 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetSceneFogParams(IDirect3DRMFrame3
* iface
,
1444 D3DVALUE
*return_start
,
1445 D3DVALUE
*return_end
,
1446 D3DVALUE
*return_density
)
1448 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1450 FIXME("(%p/%p)->(%p,%p,%p): stub\n", iface
, This
, return_start
, return_end
, return_density
);
1455 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneBackground(IDirect3DRMFrame3
* iface
,
1458 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1460 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
1465 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneBackgroundRGB(IDirect3DRMFrame3
* iface
,
1466 D3DVALUE red
, D3DVALUE green
,
1469 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1471 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, red
, green
, blue
);
1476 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneBackgroundDepth(IDirect3DRMFrame3
* iface
,
1477 LPDIRECTDRAWSURFACE surface
)
1479 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1481 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, surface
);
1486 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneBackgroundImage(IDirect3DRMFrame3
* iface
,
1487 LPDIRECT3DRMTEXTURE3 texture
)
1489 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1491 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, texture
);
1496 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneFogEnable(IDirect3DRMFrame3
* iface
, BOOL enable
)
1498 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1500 FIXME("(%p/%p)->(%d): stub\n", iface
, This
, enable
);
1505 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneFogColor(IDirect3DRMFrame3
* iface
,
1508 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1510 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
1515 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneFogMode(IDirect3DRMFrame3
* iface
,
1518 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1520 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
1525 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneFogParams(IDirect3DRMFrame3
* iface
,
1526 D3DVALUE start
, D3DVALUE end
,
1529 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1531 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, start
, end
, density
);
1536 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetColor(IDirect3DRMFrame3
* iface
, D3DCOLOR color
)
1538 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1540 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, color
);
1545 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetColorRGB(IDirect3DRMFrame3
* iface
, D3DVALUE red
,
1546 D3DVALUE green
, D3DVALUE blue
)
1548 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1550 FIXME("(%p/%p)->(%f,%f,%f): stub\n", iface
, This
, red
, green
, blue
);
1555 static D3DRMZBUFFERMODE WINAPI
IDirect3DRMFrame3Impl_GetZbufferMode(IDirect3DRMFrame3
* iface
)
1557 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1559 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1561 return D3DRMZBUFFER_FROMPARENT
;
1564 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetMaterialMode(IDirect3DRMFrame3
* iface
,
1565 D3DRMMATERIALMODE mode
)
1567 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1569 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
1574 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetOrientation(IDirect3DRMFrame3
* iface
,
1575 LPDIRECT3DRMFRAME3 reference
,
1576 D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1577 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
)
1579 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1581 FIXME("(%p/%p)->(%p,%f,%f,%f,%f,%f,%f): stub\n", iface
, This
, reference
,
1582 dx
, dy
, dz
, ux
, uy
, uz
);
1587 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetPosition(IDirect3DRMFrame3
* iface
,
1588 LPDIRECT3DRMFRAME3 reference
,
1589 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
)
1591 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1593 FIXME("(%p/%p)->(%p,%f,%f,%f): stub\n", iface
, This
, reference
, x
, y
, z
);
1598 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetRotation(IDirect3DRMFrame3
* iface
,
1599 LPDIRECT3DRMFRAME3 reference
,
1600 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
1603 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1605 FIXME("(%p/%p)->(%p,%f,%f,%f,%f): stub\n", iface
, This
, reference
, x
, y
, z
, theta
);
1610 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSortMode(IDirect3DRMFrame3
* iface
,
1613 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1615 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
1620 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetTexture(IDirect3DRMFrame3
* iface
,
1621 LPDIRECT3DRMTEXTURE3 texture
)
1623 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1625 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, texture
);
1630 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetVelocity(IDirect3DRMFrame3
* iface
,
1631 LPDIRECT3DRMFRAME3 reference
,
1632 D3DVALUE x
, D3DVALUE y
, D3DVALUE z
,
1635 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1637 FIXME("(%p/%p)->(%p,%f,%f,%f,%d): stub\n", iface
, This
, reference
, x
, y
, z
, with_rotation
);
1642 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetZbufferMode(IDirect3DRMFrame3
* iface
,
1643 D3DRMZBUFFERMODE mode
)
1645 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1647 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, mode
);
1652 static HRESULT WINAPI
IDirect3DRMFrame3Impl_Transform(IDirect3DRMFrame3
* iface
, D3DVECTOR
*d
,
1655 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1657 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, d
, s
);
1662 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetBox(IDirect3DRMFrame3
* iface
, LPD3DRMBOX box
)
1664 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1666 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, box
);
1671 static BOOL WINAPI
IDirect3DRMFrame3Impl_GetBoxEnable(IDirect3DRMFrame3
* iface
)
1673 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1675 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1680 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetAxes(IDirect3DRMFrame3
* iface
,
1681 LPD3DVECTOR dir
, LPD3DVECTOR up
)
1683 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1685 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, dir
, up
);
1690 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetMaterial(IDirect3DRMFrame3
* iface
,
1691 LPDIRECT3DRMMATERIAL2
*material
)
1693 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1695 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, material
);
1700 static BOOL WINAPI
IDirect3DRMFrame3Impl_GetInheritAxes(IDirect3DRMFrame3
* iface
)
1702 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1704 FIXME("(%p/%p)->(): stub\n", iface
, This
);
1709 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetHierarchyBox(IDirect3DRMFrame3
* iface
,
1712 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1714 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, box
);
1719 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetBox(IDirect3DRMFrame3
* iface
, LPD3DRMBOX box
)
1721 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1723 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, box
);
1728 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetBoxEnable(IDirect3DRMFrame3
* iface
, BOOL enable
)
1730 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1732 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, enable
);
1737 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetAxes(IDirect3DRMFrame3
* iface
,
1738 D3DVALUE dx
, D3DVALUE dy
, D3DVALUE dz
,
1739 D3DVALUE ux
, D3DVALUE uy
, D3DVALUE uz
)
1741 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1743 FIXME("(%p/%p)->(%f,%f,%f,%f,%f,%f): stub\n", iface
, This
, dx
, dy
, dz
, ux
, uy
, uz
);
1748 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetInheritAxes(IDirect3DRMFrame3
* iface
,
1749 BOOL inherit_from_parent
)
1751 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1753 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, inherit_from_parent
);
1758 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetMaterial(IDirect3DRMFrame3
* iface
,
1759 LPDIRECT3DRMMATERIAL2 material
)
1761 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1763 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, material
);
1768 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetQuaternion(IDirect3DRMFrame3
* iface
,
1769 LPDIRECT3DRMFRAME3 reference
,
1772 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1774 FIXME("(%p/%p)->(%p,%p): stub\n", iface
, This
, reference
, q
);
1779 static HRESULT WINAPI
IDirect3DRMFrame3Impl_RayPick(IDirect3DRMFrame3
* iface
,
1780 LPDIRECT3DRMFRAME3 reference
, LPD3DRMRAY ray
,
1782 LPDIRECT3DRMPICKED2ARRAY
*return_visuals
)
1784 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1786 FIXME("(%p/%p)->(%p,%p,%u,%p): stub\n", iface
, This
, reference
, ray
, flags
, return_visuals
);
1791 static HRESULT WINAPI
IDirect3DRMFrame3Impl_Save(IDirect3DRMFrame3
* iface
, LPCSTR filename
,
1792 D3DRMXOFFORMAT d3dFormat
,
1793 D3DRMSAVEOPTIONS d3dSaveFlags
)
1795 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1797 FIXME("(%p/%p)->(%p,%u,%u): stub\n", iface
, This
, filename
, d3dFormat
, d3dSaveFlags
);
1802 static HRESULT WINAPI
IDirect3DRMFrame3Impl_TransformVectors(IDirect3DRMFrame3
* iface
,
1803 LPDIRECT3DRMFRAME3 reference
,
1804 DWORD num
, LPD3DVECTOR dst
,
1807 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1809 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface
, This
, reference
, num
, dst
, src
);
1814 static HRESULT WINAPI
IDirect3DRMFrame3Impl_InverseTransformVectors(IDirect3DRMFrame3
* iface
,
1815 LPDIRECT3DRMFRAME3 reference
,
1816 DWORD num
, LPD3DVECTOR dst
,
1819 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1821 FIXME("(%p/%p)->(%p,%u,%p,%p): stub\n", iface
, This
, reference
, num
, dst
, src
);
1826 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetTraversalOptions(IDirect3DRMFrame3
* iface
,
1829 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1831 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, flags
);
1836 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetTraversalOptions(IDirect3DRMFrame3
* iface
,
1839 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1841 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, flags
);
1846 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetSceneFogMethod(IDirect3DRMFrame3
* iface
,
1849 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1851 FIXME("(%p/%p)->(%u): stub\n", iface
, This
, flags
);
1856 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetSceneFogMethod(IDirect3DRMFrame3
* iface
,
1859 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1861 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, flags
);
1866 static HRESULT WINAPI
IDirect3DRMFrame3Impl_SetMaterialOverride(IDirect3DRMFrame3
* iface
,
1867 LPD3DRMMATERIALOVERRIDE override
)
1869 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1871 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, override
);
1876 static HRESULT WINAPI
IDirect3DRMFrame3Impl_GetMaterialOverride(IDirect3DRMFrame3
* iface
,
1877 LPD3DRMMATERIALOVERRIDE override
)
1879 IDirect3DRMFrameImpl
*This
= impl_from_IDirect3DRMFrame3(iface
);
1881 FIXME("(%p/%p)->(%p): stub\n", iface
, This
, override
);
1886 static const struct IDirect3DRMFrame3Vtbl Direct3DRMFrame3_Vtbl
=
1888 /*** IUnknown methods ***/
1889 IDirect3DRMFrame3Impl_QueryInterface
,
1890 IDirect3DRMFrame3Impl_AddRef
,
1891 IDirect3DRMFrame3Impl_Release
,
1892 /*** IDirect3DRMObject methods ***/
1893 IDirect3DRMFrame3Impl_Clone
,
1894 IDirect3DRMFrame3Impl_AddDestroyCallback
,
1895 IDirect3DRMFrame3Impl_DeleteDestroyCallback
,
1896 IDirect3DRMFrame3Impl_SetAppData
,
1897 IDirect3DRMFrame3Impl_GetAppData
,
1898 IDirect3DRMFrame3Impl_SetName
,
1899 IDirect3DRMFrame3Impl_GetName
,
1900 IDirect3DRMFrame3Impl_GetClassName
,
1901 /*** IDirect3DRMFrame3 methods ***/
1902 IDirect3DRMFrame3Impl_AddChild
,
1903 IDirect3DRMFrame3Impl_AddLight
,
1904 IDirect3DRMFrame3Impl_AddMoveCallback
,
1905 IDirect3DRMFrame3Impl_AddTransform
,
1906 IDirect3DRMFrame3Impl_AddTranslation
,
1907 IDirect3DRMFrame3Impl_AddScale
,
1908 IDirect3DRMFrame3Impl_AddRotation
,
1909 IDirect3DRMFrame3Impl_AddVisual
,
1910 IDirect3DRMFrame3Impl_GetChildren
,
1911 IDirect3DRMFrame3Impl_GetColor
,
1912 IDirect3DRMFrame3Impl_GetLights
,
1913 IDirect3DRMFrame3Impl_GetMaterialMode
,
1914 IDirect3DRMFrame3Impl_GetParent
,
1915 IDirect3DRMFrame3Impl_GetPosition
,
1916 IDirect3DRMFrame3Impl_GetRotation
,
1917 IDirect3DRMFrame3Impl_GetScene
,
1918 IDirect3DRMFrame3Impl_GetSortMode
,
1919 IDirect3DRMFrame3Impl_GetTexture
,
1920 IDirect3DRMFrame3Impl_GetTransform
,
1921 IDirect3DRMFrame3Impl_GetVelocity
,
1922 IDirect3DRMFrame3Impl_GetOrientation
,
1923 IDirect3DRMFrame3Impl_GetVisuals
,
1924 IDirect3DRMFrame3Impl_InverseTransform
,
1925 IDirect3DRMFrame3Impl_Load
,
1926 IDirect3DRMFrame3Impl_LookAt
,
1927 IDirect3DRMFrame3Impl_Move
,
1928 IDirect3DRMFrame3Impl_DeleteChild
,
1929 IDirect3DRMFrame3Impl_DeleteLight
,
1930 IDirect3DRMFrame3Impl_DeleteMoveCallback
,
1931 IDirect3DRMFrame3Impl_DeleteVisual
,
1932 IDirect3DRMFrame3Impl_GetSceneBackground
,
1933 IDirect3DRMFrame3Impl_GetSceneBackgroundDepth
,
1934 IDirect3DRMFrame3Impl_GetSceneFogColor
,
1935 IDirect3DRMFrame3Impl_GetSceneFogEnable
,
1936 IDirect3DRMFrame3Impl_GetSceneFogMode
,
1937 IDirect3DRMFrame3Impl_GetSceneFogParams
,
1938 IDirect3DRMFrame3Impl_SetSceneBackground
,
1939 IDirect3DRMFrame3Impl_SetSceneBackgroundRGB
,
1940 IDirect3DRMFrame3Impl_SetSceneBackgroundDepth
,
1941 IDirect3DRMFrame3Impl_SetSceneBackgroundImage
,
1942 IDirect3DRMFrame3Impl_SetSceneFogEnable
,
1943 IDirect3DRMFrame3Impl_SetSceneFogColor
,
1944 IDirect3DRMFrame3Impl_SetSceneFogMode
,
1945 IDirect3DRMFrame3Impl_SetSceneFogParams
,
1946 IDirect3DRMFrame3Impl_SetColor
,
1947 IDirect3DRMFrame3Impl_SetColorRGB
,
1948 IDirect3DRMFrame3Impl_GetZbufferMode
,
1949 IDirect3DRMFrame3Impl_SetMaterialMode
,
1950 IDirect3DRMFrame3Impl_SetOrientation
,
1951 IDirect3DRMFrame3Impl_SetPosition
,
1952 IDirect3DRMFrame3Impl_SetRotation
,
1953 IDirect3DRMFrame3Impl_SetSortMode
,
1954 IDirect3DRMFrame3Impl_SetTexture
,
1955 IDirect3DRMFrame3Impl_SetVelocity
,
1956 IDirect3DRMFrame3Impl_SetZbufferMode
,
1957 IDirect3DRMFrame3Impl_Transform
,
1958 IDirect3DRMFrame3Impl_GetBox
,
1959 IDirect3DRMFrame3Impl_GetBoxEnable
,
1960 IDirect3DRMFrame3Impl_GetAxes
,
1961 IDirect3DRMFrame3Impl_GetMaterial
,
1962 IDirect3DRMFrame3Impl_GetInheritAxes
,
1963 IDirect3DRMFrame3Impl_GetHierarchyBox
,
1964 IDirect3DRMFrame3Impl_SetBox
,
1965 IDirect3DRMFrame3Impl_SetBoxEnable
,
1966 IDirect3DRMFrame3Impl_SetAxes
,
1967 IDirect3DRMFrame3Impl_SetInheritAxes
,
1968 IDirect3DRMFrame3Impl_SetMaterial
,
1969 IDirect3DRMFrame3Impl_SetQuaternion
,
1970 IDirect3DRMFrame3Impl_RayPick
,
1971 IDirect3DRMFrame3Impl_Save
,
1972 IDirect3DRMFrame3Impl_TransformVectors
,
1973 IDirect3DRMFrame3Impl_InverseTransformVectors
,
1974 IDirect3DRMFrame3Impl_SetTraversalOptions
,
1975 IDirect3DRMFrame3Impl_GetTraversalOptions
,
1976 IDirect3DRMFrame3Impl_SetSceneFogMethod
,
1977 IDirect3DRMFrame3Impl_GetSceneFogMethod
,
1978 IDirect3DRMFrame3Impl_SetMaterialOverride
,
1979 IDirect3DRMFrame3Impl_GetMaterialOverride
1982 static inline IDirect3DRMFrameImpl
*unsafe_impl_from_IDirect3DRMFrame2(IDirect3DRMFrame2
*iface
)
1986 assert(iface
->lpVtbl
== &Direct3DRMFrame2_Vtbl
);
1988 return impl_from_IDirect3DRMFrame2(iface
);
1991 HRESULT
Direct3DRMFrame_create(REFIID riid
, IUnknown
** ppObj
)
1993 IDirect3DRMFrameImpl
* object
;
1995 TRACE("(%p)\n", ppObj
);
1997 object
= HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, sizeof(IDirect3DRMFrameImpl
));
2000 ERR("Out of memory\n");
2001 return E_OUTOFMEMORY
;
2004 object
->IDirect3DRMFrame2_iface
.lpVtbl
= &Direct3DRMFrame2_Vtbl
;
2005 object
->IDirect3DRMFrame3_iface
.lpVtbl
= &Direct3DRMFrame3_Vtbl
;
2008 if (IsEqualGUID(riid
, &IID_IDirect3DRMFrame3
))
2009 *ppObj
= (IUnknown
*)&object
->IDirect3DRMFrame3_iface
;
2011 *ppObj
= (IUnknown
*)&object
->IDirect3DRMFrame2_iface
;