Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e1c00d32
Commit
e1c00d32
authored
Jan 17, 2012
by
André Hentschel
Committed by
Alexandre Julliard
Jan 18, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3drm: Add IDirect3DRMWinDevice interface.
parent
2e963df9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
155 additions
and
0 deletions
+155
-0
device.c
dlls/d3drm/device.c
+155
-0
No files found.
dlls/d3drm/device.c
View file @
e1c00d32
...
...
@@ -29,12 +29,15 @@
#include "wingdi.h"
#include "d3drm_private.h"
#include "initguid.h"
#include "d3drmwin.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
d3drm
);
typedef
struct
{
IDirect3DRMDevice2
IDirect3DRMDevice2_iface
;
IDirect3DRMDevice3
IDirect3DRMDevice3_iface
;
IDirect3DRMWinDevice
IDirect3DRMWinDevice_iface
;
LONG
ref
;
}
IDirect3DRMDeviceImpl
;
...
...
@@ -48,6 +51,11 @@ static inline IDirect3DRMDeviceImpl *impl_from_IDirect3DRMDevice3(IDirect3DRMDev
return
CONTAINING_RECORD
(
iface
,
IDirect3DRMDeviceImpl
,
IDirect3DRMDevice3_iface
);
}
static
inline
IDirect3DRMDeviceImpl
*
impl_from_IDirect3DRMWinDevice
(
IDirect3DRMWinDevice
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
IDirect3DRMDeviceImpl
,
IDirect3DRMWinDevice_iface
);
}
/*** IUnknown methods ***/
static
HRESULT
WINAPI
IDirect3DRMDevice2Impl_QueryInterface
(
IDirect3DRMDevice2
*
iface
,
REFIID
riid
,
void
**
object
)
...
...
@@ -68,6 +76,10 @@ static HRESULT WINAPI IDirect3DRMDevice2Impl_QueryInterface(IDirect3DRMDevice2*
{
*
object
=
&
This
->
IDirect3DRMDevice3_iface
;
}
else
if
(
IsEqualGUID
(
riid
,
&
IID_IDirect3DRMWinDevice
))
{
*
object
=
&
This
->
IDirect3DRMWinDevice_iface
;
}
else
{
FIXME
(
"interface %s not implemented
\n
"
,
debugstr_guid
(
riid
));
...
...
@@ -994,6 +1006,148 @@ static const struct IDirect3DRMDevice3Vtbl Direct3DRMDevice3_Vtbl =
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
)
{
IDirect3DRMDeviceImpl
*
object
;
...
...
@@ -1009,6 +1163,7 @@ HRESULT Direct3DRMDevice_create(REFIID riid, IUnknown** ppObj)
object
->
IDirect3DRMDevice2_iface
.
lpVtbl
=
&
Direct3DRMDevice2_Vtbl
;
object
->
IDirect3DRMDevice3_iface
.
lpVtbl
=
&
Direct3DRMDevice3_Vtbl
;
object
->
IDirect3DRMWinDevice_iface
.
lpVtbl
=
&
Direct3DRMWinDevice_Vtbl
;
object
->
ref
=
1
;
if
(
IsEqualGUID
(
riid
,
&
IID_IDirect3DRMFrame3
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment