d3drm: Add IDirect3DRMWinDevice interface.
This commit is contained in:
parent
2e963df911
commit
e1c00d32ed
|
@ -29,12 +29,15 @@
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
|
|
||||||
#include "d3drm_private.h"
|
#include "d3drm_private.h"
|
||||||
|
#include "initguid.h"
|
||||||
|
#include "d3drmwin.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
|
WINE_DEFAULT_DEBUG_CHANNEL(d3drm);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
IDirect3DRMDevice2 IDirect3DRMDevice2_iface;
|
IDirect3DRMDevice2 IDirect3DRMDevice2_iface;
|
||||||
IDirect3DRMDevice3 IDirect3DRMDevice3_iface;
|
IDirect3DRMDevice3 IDirect3DRMDevice3_iface;
|
||||||
|
IDirect3DRMWinDevice IDirect3DRMWinDevice_iface;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
} IDirect3DRMDeviceImpl;
|
} IDirect3DRMDeviceImpl;
|
||||||
|
|
||||||
|
@ -48,6 +51,11 @@ static inline IDirect3DRMDeviceImpl *impl_from_IDirect3DRMDevice3(IDirect3DRMDev
|
||||||
return CONTAINING_RECORD(iface, IDirect3DRMDeviceImpl, IDirect3DRMDevice3_iface);
|
return CONTAINING_RECORD(iface, IDirect3DRMDeviceImpl, IDirect3DRMDevice3_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline IDirect3DRMDeviceImpl *impl_from_IDirect3DRMWinDevice(IDirect3DRMWinDevice *iface)
|
||||||
|
{
|
||||||
|
return CONTAINING_RECORD(iface, IDirect3DRMDeviceImpl, IDirect3DRMWinDevice_iface);
|
||||||
|
}
|
||||||
|
|
||||||
/*** IUnknown methods ***/
|
/*** IUnknown methods ***/
|
||||||
static HRESULT WINAPI IDirect3DRMDevice2Impl_QueryInterface(IDirect3DRMDevice2* iface,
|
static HRESULT WINAPI IDirect3DRMDevice2Impl_QueryInterface(IDirect3DRMDevice2* iface,
|
||||||
REFIID riid, void** object)
|
REFIID riid, void** object)
|
||||||
|
@ -68,6 +76,10 @@ static HRESULT WINAPI IDirect3DRMDevice2Impl_QueryInterface(IDirect3DRMDevice2*
|
||||||
{
|
{
|
||||||
*object = &This->IDirect3DRMDevice3_iface;
|
*object = &This->IDirect3DRMDevice3_iface;
|
||||||
}
|
}
|
||||||
|
else if(IsEqualGUID(riid, &IID_IDirect3DRMWinDevice))
|
||||||
|
{
|
||||||
|
*object = &This->IDirect3DRMWinDevice_iface;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FIXME("interface %s not implemented\n", debugstr_guid(riid));
|
FIXME("interface %s not implemented\n", debugstr_guid(riid));
|
||||||
|
@ -994,6 +1006,148 @@ static const struct IDirect3DRMDevice3Vtbl Direct3DRMDevice3_Vtbl =
|
||||||
IDirect3DRMDevice3Impl_SetStateChangeOptions
|
IDirect3DRMDevice3Impl_SetStateChangeOptions
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_QueryInterface(IDirect3DRMWinDevice* iface,
|
||||||
|
REFIID riid, void** object)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
return IDirect3DRMDevice2_QueryInterface(&This->IDirect3DRMDevice2_iface, riid, object);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI IDirect3DRMWinDeviceImpl_AddRef(IDirect3DRMWinDevice* iface)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
return IDirect3DRMDevice2_AddRef(&This->IDirect3DRMDevice2_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI IDirect3DRMWinDeviceImpl_Release(IDirect3DRMWinDevice* iface)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
return IDirect3DRMDevice2_Release(&This->IDirect3DRMDevice2_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** IDirect3DRMObject methods ***/
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_Clone(IDirect3DRMWinDevice* iface,
|
||||||
|
LPUNKNOWN unkwn, REFIID riid,
|
||||||
|
LPVOID* object)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p, %s, %p): stub\n", iface, This, unkwn, debugstr_guid(riid), object);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_AddDestroyCallback(IDirect3DRMWinDevice* iface,
|
||||||
|
D3DRMOBJECTCALLBACK cb,
|
||||||
|
LPVOID argument)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_DeleteDestroyCallback(IDirect3DRMWinDevice* iface,
|
||||||
|
D3DRMOBJECTCALLBACK cb,
|
||||||
|
LPVOID argument)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, cb, argument);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_SetAppData(IDirect3DRMWinDevice* iface,
|
||||||
|
DWORD data)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%u): stub\n", iface, This, data);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static DWORD WINAPI IDirect3DRMWinDeviceImpl_GetAppData(IDirect3DRMWinDevice* iface)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(): stub\n", iface, This);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_SetName(IDirect3DRMWinDevice* iface, LPCSTR name)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%s): stub\n", iface, This, name);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_GetName(IDirect3DRMWinDevice* iface,
|
||||||
|
LPDWORD size, LPSTR name)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_GetClassName(IDirect3DRMWinDevice* iface,
|
||||||
|
LPDWORD size, LPSTR name)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p, %p): stub\n", iface, This, size, name);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** IDirect3DRMWinDevice methods ***/
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_HandlePaint(IDirect3DRMWinDevice* iface, HDC hdc)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%p): stub\n", iface, This, hdc);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI IDirect3DRMWinDeviceImpl_HandleActivate(IDirect3DRMWinDevice* iface, WORD wparam)
|
||||||
|
{
|
||||||
|
IDirect3DRMDeviceImpl *This = impl_from_IDirect3DRMWinDevice(iface);
|
||||||
|
|
||||||
|
FIXME("(%p/%p)->(%u): stub\n", iface, This, wparam);
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct IDirect3DRMWinDeviceVtbl Direct3DRMWinDevice_Vtbl =
|
||||||
|
{
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
IDirect3DRMWinDeviceImpl_QueryInterface,
|
||||||
|
IDirect3DRMWinDeviceImpl_AddRef,
|
||||||
|
IDirect3DRMWinDeviceImpl_Release,
|
||||||
|
/*** IDirect3DRMObject methods ***/
|
||||||
|
IDirect3DRMWinDeviceImpl_Clone,
|
||||||
|
IDirect3DRMWinDeviceImpl_AddDestroyCallback,
|
||||||
|
IDirect3DRMWinDeviceImpl_DeleteDestroyCallback,
|
||||||
|
IDirect3DRMWinDeviceImpl_SetAppData,
|
||||||
|
IDirect3DRMWinDeviceImpl_GetAppData,
|
||||||
|
IDirect3DRMWinDeviceImpl_SetName,
|
||||||
|
IDirect3DRMWinDeviceImpl_GetName,
|
||||||
|
IDirect3DRMWinDeviceImpl_GetClassName,
|
||||||
|
/*** IDirect3DRMWinDevice methods ***/
|
||||||
|
IDirect3DRMWinDeviceImpl_HandlePaint,
|
||||||
|
IDirect3DRMWinDeviceImpl_HandleActivate
|
||||||
|
};
|
||||||
|
|
||||||
HRESULT Direct3DRMDevice_create(REFIID riid, IUnknown** ppObj)
|
HRESULT Direct3DRMDevice_create(REFIID riid, IUnknown** ppObj)
|
||||||
{
|
{
|
||||||
IDirect3DRMDeviceImpl* object;
|
IDirect3DRMDeviceImpl* object;
|
||||||
|
@ -1009,6 +1163,7 @@ HRESULT Direct3DRMDevice_create(REFIID riid, IUnknown** ppObj)
|
||||||
|
|
||||||
object->IDirect3DRMDevice2_iface.lpVtbl = &Direct3DRMDevice2_Vtbl;
|
object->IDirect3DRMDevice2_iface.lpVtbl = &Direct3DRMDevice2_Vtbl;
|
||||||
object->IDirect3DRMDevice3_iface.lpVtbl = &Direct3DRMDevice3_Vtbl;
|
object->IDirect3DRMDevice3_iface.lpVtbl = &Direct3DRMDevice3_Vtbl;
|
||||||
|
object->IDirect3DRMWinDevice_iface.lpVtbl = &Direct3DRMWinDevice_Vtbl;
|
||||||
object->ref = 1;
|
object->ref = 1;
|
||||||
|
|
||||||
if (IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
|
if (IsEqualGUID(riid, &IID_IDirect3DRMFrame3))
|
||||||
|
|
Loading…
Reference in New Issue