Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
b09b0fbf
Commit
b09b0fbf
authored
Jan 22, 2009
by
Henri Verbeet
Committed by
Alexandre Julliard
Jan 22, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ddraw: Get rid of ddcomimpl.h.
parent
802f9c7e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
52 additions
and
93 deletions
+52
-93
ddcomimpl.h
dlls/ddraw/ddcomimpl.h
+0
-28
ddraw_private.h
dlls/ddraw/ddraw_private.h
+5
-2
ddraw_thunks.c
dlls/ddraw/ddraw_thunks.c
+0
-0
device.c
dlls/ddraw/device.c
+9
-10
direct3d.c
dlls/ddraw/direct3d.c
+10
-6
material.c
dlls/ddraw/material.c
+19
-24
surface.c
dlls/ddraw/surface.c
+1
-1
surface_thunks.c
dlls/ddraw/surface_thunks.c
+3
-15
texture.c
dlls/ddraw/texture.c
+5
-7
No files found.
dlls/ddraw/ddcomimpl.h
deleted
100644 → 0
View file @
802f9c7e
/* A few helpful macros for implementing COM objects.
*
* Copyright 2000 TransGaming Technologies Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef _DDCOMIMPL_H_
#define _DDCOMIMPL_H_
#include <stddef.h>
#define COM_INTERFACE_CAST(impltype, ifnamefrom, ifnameto, ifaceptr) \
((ifaceptr) ? (ifnameto *)&(((impltype *)((char *)(ifaceptr) \
- offsetof(impltype, ifnamefrom##_vtbl)))->ifnameto##_vtbl) : NULL)
#endif
/* _DDCOMIMPL_H_ */
dlls/ddraw/ddraw_private.h
View file @
b09b0fbf
...
...
@@ -33,8 +33,6 @@
#include "ddrawi.h"
#include "d3d.h"
#include "ddcomimpl.h"
#include "wine/list.h"
#ifdef DDRAW_INIT_GUID
#include "initguid.h"
...
...
@@ -332,6 +330,11 @@ static inline IDirectDrawSurfaceImpl *surface_from_texture2(IDirect3DTexture2 *i
return
(
IDirectDrawSurfaceImpl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture2_vtbl
));
}
static
inline
IDirectDrawSurfaceImpl
*
surface_from_surface3
(
IDirectDrawSurface3
*
iface
)
{
return
(
IDirectDrawSurfaceImpl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface3_vtbl
));
}
/* Get the number of bytes per pixel for a given surface */
#define PFGET_BPP(pf) (pf.dwFlags&DDPF_PALETTEINDEXED8?1:((pf.dwRGBBitCount+7)/8))
#define GET_BPP(desc) PFGET_BPP(desc.ddpfPixelFormat)
...
...
dlls/ddraw/ddraw_thunks.c
View file @
b09b0fbf
This diff is collapsed.
Click to expand it.
dlls/ddraw/device.c
View file @
b09b0fbf
...
...
@@ -282,7 +282,7 @@ static ULONG WINAPI
Thunk_IDirect3DDeviceImpl_1_AddRef
(
IDirect3DDevice
*
iface
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->() thunking to IDirect3DDevice7 interface.
\n
"
,
iface
);
return
IDirect3DDevice7_AddRef
(
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice
,
IDirect3DDevice7
,
iface
));
return
IDirect3DDevice7_AddRef
(
(
IDirect3DDevice7
*
)
device_from_device1
(
iface
));
}
/*****************************************************************************
...
...
@@ -1032,7 +1032,7 @@ Thunk_IDirect3DDeviceImpl_2_NextViewport(IDirect3DDevice2 *iface,
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p,%p,%08x) thunking to IDirect3DDevice3 interface.
\n
"
,
This
,
vp
,
lplpDirect3DViewport2
,
Flags
);
hr
=
IDirect3DDevice3_NextViewport
((
IDirect3DDevice3
*
)
&
This
->
IDirect3DDevice3_vtbl
,
(
IDirect3DViewport3
*
)
vp
,
&
res
,
Flags
);
*
lplpDirect3DViewport2
=
(
IDirect3DViewport2
*
)
COM_INTERFACE_CAST
(
IDirect3DViewportImpl
,
IDirect3DViewport3
,
IDirect3DViewport3
,
res
)
;
*
lplpDirect3DViewport2
=
(
IDirect3DViewport2
*
)
res
;
return
hr
;
}
...
...
@@ -1049,7 +1049,7 @@ Thunk_IDirect3DDeviceImpl_1_NextViewport(IDirect3DDevice *iface,
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p,%p,%08x) thunking to IDirect3DDevice3 interface.
\n
"
,
This
,
vp
,
lplpDirect3DViewport
,
Flags
);
hr
=
IDirect3DDevice3_NextViewport
((
IDirect3DDevice3
*
)
&
This
->
IDirect3DDevice3_vtbl
,
(
IDirect3DViewport3
*
)
vp
,
&
res
,
Flags
);
*
lplpDirect3DViewport
=
(
IDirect3DViewport
*
)
COM_INTERFACE_CAST
(
IDirect3DViewportImpl
,
IDirect3DViewport3
,
IDirect3DViewport3
,
res
)
;
*
lplpDirect3DViewport
=
(
IDirect3DViewport
*
)
res
;
return
hr
;
}
...
...
@@ -1790,7 +1790,7 @@ Thunk_IDirect3DDeviceImpl_3_GetDirect3D(IDirect3DDevice3 *iface,
ret
=
IDirect3DDevice7_GetDirect3D
((
IDirect3DDevice7
*
)
This
,
&
ret_ptr
);
if
(
ret
!=
D3D_OK
)
return
ret
;
*
Direct3D3
=
COM_INTERFACE_CAST
(
IDirectDrawImpl
,
IDirect3D7
,
IDirect3D3
,
ret_ptr
)
;
*
Direct3D3
=
ret_ptr
?
(
IDirect3D3
*
)
&
((
IDirectDrawImpl
*
)
ret_ptr
)
->
IDirect3D3_vtbl
:
NULL
;
TRACE
(
" returning interface %p
\n
"
,
*
Direct3D3
);
return
D3D_OK
;
}
...
...
@@ -1807,7 +1807,7 @@ Thunk_IDirect3DDeviceImpl_2_GetDirect3D(IDirect3DDevice2 *iface,
ret
=
IDirect3DDevice7_GetDirect3D
((
IDirect3DDevice7
*
)
This
,
&
ret_ptr
);
if
(
ret
!=
D3D_OK
)
return
ret
;
*
Direct3D2
=
COM_INTERFACE_CAST
(
IDirectDrawImpl
,
IDirect3D7
,
IDirect3D2
,
ret_ptr
)
;
*
Direct3D2
=
ret_ptr
?
(
IDirect3D2
*
)
&
((
IDirectDrawImpl
*
)
ret_ptr
)
->
IDirect3D2_vtbl
:
NULL
;
TRACE
(
" returning interface %p
\n
"
,
*
Direct3D2
);
return
D3D_OK
;
}
...
...
@@ -1824,7 +1824,7 @@ Thunk_IDirect3DDeviceImpl_1_GetDirect3D(IDirect3DDevice *iface,
ret
=
IDirect3DDevice7_GetDirect3D
((
IDirect3DDevice7
*
)
This
,
&
ret_ptr
);
if
(
ret
!=
D3D_OK
)
return
ret
;
*
Direct3D
=
COM_INTERFACE_CAST
(
IDirectDrawImpl
,
IDirect3D7
,
IDirect3D
,
ret_ptr
)
;
*
Direct3D
=
ret_ptr
?
(
IDirect3D
*
)
&
((
IDirectDrawImpl
*
)
ret_ptr
)
->
IDirect3D_vtbl
:
NULL
;
TRACE
(
" returning interface %p
\n
"
,
*
Direct3D
);
return
D3D_OK
;
}
...
...
@@ -1941,7 +1941,6 @@ Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(IDirect3DDevice2 *iface,
hr
=
IDirect3DDevice3_GetCurrentViewport
((
IDirect3DDevice3
*
)
&
This
->
IDirect3DDevice3_vtbl
,
(
IDirect3DViewport3
**
)
Direct3DViewport2
);
if
(
hr
!=
D3D_OK
)
return
hr
;
*
Direct3DViewport2
=
(
IDirect3DViewport2
*
)
COM_INTERFACE_CAST
(
IDirect3DViewportImpl
,
IDirect3DViewport3
,
IDirect3DViewport3
,
*
Direct3DViewport2
);
return
D3D_OK
;
}
...
...
@@ -2088,7 +2087,6 @@ Thunk_IDirect3DDeviceImpl_3_GetRenderTarget(IDirect3DDevice3 *iface,
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DDevice7 interface.
\n
"
,
This
,
RenderTarget
);
hr
=
IDirect3DDevice7_GetRenderTarget
((
IDirect3DDevice7
*
)
This
,
(
IDirectDrawSurface7
**
)
RenderTarget
);
if
(
hr
!=
D3D_OK
)
return
hr
;
*
RenderTarget
=
(
IDirectDrawSurface4
*
)
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface7
,
IDirectDrawSurface7
,
*
RenderTarget
);
return
D3D_OK
;
}
...
...
@@ -2101,7 +2099,8 @@ Thunk_IDirect3DDeviceImpl_2_GetRenderTarget(IDirect3DDevice2 *iface,
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DDevice7 interface.
\n
"
,
This
,
RenderTarget
);
hr
=
IDirect3DDevice7_GetRenderTarget
((
IDirect3DDevice7
*
)
This
,
(
IDirectDrawSurface7
**
)
RenderTarget
);
if
(
hr
!=
D3D_OK
)
return
hr
;
*
RenderTarget
=
(
IDirectDrawSurface
*
)
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface7
,
IDirectDrawSurface3
,
*
RenderTarget
);
*
RenderTarget
=
*
RenderTarget
?
(
IDirectDrawSurface
*
)
&
((
IDirectDrawSurfaceImpl
*
)
*
RenderTarget
)
->
IDirectDrawSurface3_vtbl
:
NULL
;
return
D3D_OK
;
}
...
...
@@ -4743,7 +4742,7 @@ Thunk_IDirect3DDeviceImpl_3_GetTexture(IDirect3DDevice3 *iface,
TRACE_
(
ddraw_thunk
)(
"(%p)->(%d,%p) thunking to IDirect3DDevice7 interface.
\n
"
,
This
,
Stage
,
Texture2
);
ret
=
IDirect3DDevice7_GetTexture
((
IDirect3DDevice7
*
)
This
,
Stage
,
&
ret_val
);
*
Texture2
=
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface7
,
IDirect3DTexture2
,
ret_val
)
;
*
Texture2
=
ret_val
?
(
IDirect3DTexture2
*
)
&
((
IDirectDrawSurfaceImpl
*
)
ret_val
)
->
IDirect3DTexture2_vtbl
:
NULL
;
TRACE_
(
ddraw_thunk
)(
" returning interface %p.
\n
"
,
*
Texture2
);
...
...
dlls/ddraw/direct3d.c
View file @
b09b0fbf
...
...
@@ -532,7 +532,8 @@ Thunk_IDirect3DImpl_2_CreateMaterial(IDirect3D2 *iface,
TRACE
(
"(%p)->(%p,%p) thunking to IDirect3D3 interface.
\n
"
,
This
,
Direct3DMaterial
,
UnkOuter
);
ret
=
IDirect3D3_CreateMaterial
((
IDirect3D3
*
)
&
This
->
IDirect3D3_vtbl
,
&
ret_val
,
UnkOuter
);
*
Direct3DMaterial
=
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial3
,
IDirect3DMaterial2
,
ret_val
);
*
Direct3DMaterial
=
ret_val
?
(
IDirect3DMaterial2
*
)
&
((
IDirect3DMaterialImpl
*
)
ret_val
)
->
IDirect3DMaterial2_vtbl
:
NULL
;
TRACE
(
" returning interface %p.
\n
"
,
*
Direct3DMaterial
);
...
...
@@ -551,7 +552,8 @@ Thunk_IDirect3DImpl_1_CreateMaterial(IDirect3D *iface,
TRACE
(
"(%p)->(%p,%p) thunking to IDirect3D3 interface.
\n
"
,
This
,
Direct3DMaterial
,
UnkOuter
);
ret
=
IDirect3D3_CreateMaterial
((
IDirect3D3
*
)
&
This
->
IDirect3D3_vtbl
,
&
ret_val
,
UnkOuter
);
*
Direct3DMaterial
=
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial3
,
IDirect3DMaterial
,
ret_val
);
*
Direct3DMaterial
=
ret_val
?
(
IDirect3DMaterial
*
)
&
((
IDirect3DMaterialImpl
*
)
ret_val
)
->
IDirect3DMaterial_vtbl
:
NULL
;
TRACE
(
" returning interface %p.
\n
"
,
*
Direct3DMaterial
);
...
...
@@ -932,7 +934,7 @@ Thunk_IDirect3DImpl_3_CreateDevice(IDirect3D3 *iface,
hr
=
IDirect3D7_CreateDevice
((
IDirect3D7
*
)
&
This
->
IDirect3D7_vtbl
,
refiid
,
(
IDirectDrawSurface7
*
)
Surface
/* Same VTables */
,
(
IDirect3DDevice7
**
)
Device
);
*
Device
=
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice7
,
IDirect3DDevice3
,
*
Device
)
;
*
Device
=
*
Device
?
(
IDirect3DDevice3
*
)
&
((
IDirect3DDeviceImpl
*
)
*
Device
)
->
IDirect3DDevice3_vtbl
:
NULL
;
return
hr
;
}
...
...
@@ -947,10 +949,10 @@ Thunk_IDirect3DImpl_2_CreateDevice(IDirect3D2 *iface,
TRACE
(
"(%p)->(%s,%p,%p): Thunking to IDirect3D7
\n
"
,
This
,
debugstr_guid
(
refiid
),
Surface
,
Device
);
hr
=
IDirect3D7_CreateDevice
((
IDirect3D7
*
)
&
This
->
IDirect3D7_vtbl
,
refiid
,
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface3
,
IDirectDrawSurface7
,
Surface
)
,
Surface
?
(
IDirectDrawSurface7
*
)
surface_from_surface3
((
IDirectDrawSurface3
*
)
Surface
)
:
NULL
,
(
IDirect3DDevice7
**
)
Device
);
*
Device
=
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice7
,
IDirect3DDevice2
,
*
Device
)
;
*
Device
=
*
Device
?
(
IDirect3DDevice2
*
)
&
((
IDirect3DDeviceImpl
*
)
*
Device
)
->
IDirect3DDevice2_vtbl
:
NULL
;
return
hr
;
}
...
...
@@ -1077,7 +1079,9 @@ Thunk_IDirect3DImpl_3_CreateVertexBuffer(IDirect3D3 *iface,
hr
=
IDirect3D7_CreateVertexBuffer
((
IDirect3D7
*
)
&
This
->
IDirect3D7_vtbl
,
Desc
,
(
IDirect3DVertexBuffer7
**
)
VertexBuffer
,
Flags
);
*
VertexBuffer
=
COM_INTERFACE_CAST
(
IDirect3DVertexBufferImpl
,
IDirect3DVertexBuffer7
,
IDirect3DVertexBuffer
,
*
VertexBuffer
);
*
VertexBuffer
=
*
VertexBuffer
?
(
IDirect3DVertexBuffer
*
)
&
((
IDirect3DVertexBufferImpl
*
)
*
VertexBuffer
)
->
IDirect3DVertexBuffer_vtbl
:
NULL
;
return
hr
;
}
...
...
dlls/ddraw/material.c
View file @
b09b0fbf
...
...
@@ -55,6 +55,11 @@ static inline IDirect3DMaterialImpl *material_from_material1(IDirect3DMaterial *
return
(
IDirect3DMaterialImpl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
IDirect3DMaterialImpl
,
IDirect3DMaterial_vtbl
));
}
static
inline
IDirect3DMaterialImpl
*
material_from_material2
(
IDirect3DMaterial2
*
iface
)
{
return
(
IDirect3DMaterialImpl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2_vtbl
));
}
/*****************************************************************************
* IUnknown Methods.
*****************************************************************************/
...
...
@@ -347,9 +352,8 @@ Thunk_IDirect3DMaterialImpl_2_GetHandle(LPDIRECT3DMATERIAL2 iface,
LPD3DMATERIALHANDLE
lpHandle
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p,%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpDirect3DDevice2
,
lpHandle
);
return
IDirect3DMaterial3_GetHandle
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
),
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice2
,
IDirect3DDevice3
,
lpDirect3DDevice2
),
lpHandle
);
return
IDirect3DMaterial3_GetHandle
((
IDirect3DMaterial3
*
)
material_from_material2
(
iface
),
lpDirect3DDevice2
?
(
IDirect3DDevice3
*
)
&
device_from_device2
(
lpDirect3DDevice2
)
->
IDirect3DDevice3_vtbl
:
NULL
,
lpHandle
);
}
static
HRESULT
WINAPI
...
...
@@ -358,9 +362,8 @@ Thunk_IDirect3DMaterialImpl_1_GetHandle(LPDIRECT3DMATERIAL iface,
LPD3DMATERIALHANDLE
lpHandle
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p,%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpDirect3DDevice
,
lpHandle
);
return
IDirect3DMaterial3_GetHandle
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
),
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice
,
IDirect3DDevice3
,
lpDirect3DDevice
),
lpHandle
);
return
IDirect3DMaterial3_GetHandle
((
IDirect3DMaterial3
*
)
material_from_material1
(
iface
),
lpDirect3DDevice
?
(
IDirect3DDevice3
*
)
&
device_from_device1
(
lpDirect3DDevice
)
->
IDirect3DDevice3_vtbl
:
NULL
,
lpHandle
);
}
static
HRESULT
WINAPI
...
...
@@ -369,9 +372,7 @@ Thunk_IDirect3DMaterialImpl_2_QueryInterface(LPDIRECT3DMATERIAL2 iface,
LPVOID
*
obp
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%s,%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
debugstr_guid
(
riid
),
obp
);
return
IDirect3DMaterial3_QueryInterface
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
),
riid
,
obp
);
return
IDirect3DMaterial3_QueryInterface
((
IDirect3DMaterial3
*
)
material_from_material2
(
iface
),
riid
,
obp
);
}
static
HRESULT
WINAPI
...
...
@@ -380,37 +381,35 @@ Thunk_IDirect3DMaterialImpl_1_QueryInterface(LPDIRECT3DMATERIAL iface,
LPVOID
*
obp
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%s,%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
debugstr_guid
(
riid
),
obp
);
return
IDirect3DMaterial3_QueryInterface
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
),
riid
,
obp
);
return
IDirect3DMaterial3_QueryInterface
((
IDirect3DMaterial3
*
)
material_from_material1
(
iface
),
riid
,
obp
);
}
static
ULONG
WINAPI
Thunk_IDirect3DMaterialImpl_2_AddRef
(
LPDIRECT3DMATERIAL2
iface
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->() thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
);
return
IDirect3DMaterial3_AddRef
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
));
return
IDirect3DMaterial3_AddRef
(
(
IDirect3DMaterial3
*
)
material_from_material2
(
iface
));
}
static
ULONG
WINAPI
Thunk_IDirect3DMaterialImpl_1_AddRef
(
LPDIRECT3DMATERIAL
iface
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->() thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
);
return
IDirect3DMaterial3_AddRef
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
));
return
IDirect3DMaterial3_AddRef
(
(
IDirect3DMaterial3
*
)
material_from_material1
(
iface
));
}
static
ULONG
WINAPI
Thunk_IDirect3DMaterialImpl_2_Release
(
LPDIRECT3DMATERIAL2
iface
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->() thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
);
return
IDirect3DMaterial3_Release
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
));
return
IDirect3DMaterial3_Release
(
(
IDirect3DMaterial3
*
)
material_from_material2
(
iface
));
}
static
ULONG
WINAPI
Thunk_IDirect3DMaterialImpl_1_Release
(
LPDIRECT3DMATERIAL
iface
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->() thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
);
return
IDirect3DMaterial3_Release
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
));
return
IDirect3DMaterial3_Release
(
(
IDirect3DMaterial3
*
)
material_from_material1
(
iface
));
}
static
HRESULT
WINAPI
...
...
@@ -418,8 +417,7 @@ Thunk_IDirect3DMaterialImpl_2_SetMaterial(LPDIRECT3DMATERIAL2 iface,
LPD3DMATERIAL
lpMat
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpMat
);
return
IDirect3DMaterial3_SetMaterial
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
),
lpMat
);
return
IDirect3DMaterial3_SetMaterial
((
IDirect3DMaterial3
*
)
material_from_material2
(
iface
),
lpMat
);
}
static
HRESULT
WINAPI
...
...
@@ -427,8 +425,7 @@ Thunk_IDirect3DMaterialImpl_1_SetMaterial(LPDIRECT3DMATERIAL iface,
LPD3DMATERIAL
lpMat
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpMat
);
return
IDirect3DMaterial3_SetMaterial
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
),
lpMat
);
return
IDirect3DMaterial3_SetMaterial
((
IDirect3DMaterial3
*
)
material_from_material1
(
iface
),
lpMat
);
}
static
HRESULT
WINAPI
...
...
@@ -436,8 +433,7 @@ Thunk_IDirect3DMaterialImpl_2_GetMaterial(LPDIRECT3DMATERIAL2 iface,
LPD3DMATERIAL
lpMat
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpMat
);
return
IDirect3DMaterial3_GetMaterial
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial2
,
IDirect3DMaterial3
,
iface
),
lpMat
);
return
IDirect3DMaterial3_GetMaterial
((
IDirect3DMaterial3
*
)
material_from_material2
(
iface
),
lpMat
);
}
static
HRESULT
WINAPI
...
...
@@ -445,8 +441,7 @@ Thunk_IDirect3DMaterialImpl_1_GetMaterial(LPDIRECT3DMATERIAL iface,
LPD3DMATERIAL
lpMat
)
{
TRACE_
(
ddraw_thunk
)(
"(%p)->(%p) thunking to IDirect3DMaterial3 interface.
\n
"
,
iface
,
lpMat
);
return
IDirect3DMaterial3_GetMaterial
(
COM_INTERFACE_CAST
(
IDirect3DMaterialImpl
,
IDirect3DMaterial
,
IDirect3DMaterial3
,
iface
),
lpMat
);
return
IDirect3DMaterial3_GetMaterial
((
IDirect3DMaterial3
*
)
material_from_material1
(
iface
),
lpMat
);
}
...
...
dlls/ddraw/surface.c
View file @
b09b0fbf
...
...
@@ -118,7 +118,7 @@ IDirectDrawSurfaceImpl_QueryInterface(IDirectDrawSurface7 *iface,
/* Call into IDirect3D7 for creation */
IDirect3D7_CreateDevice
((
IDirect3D7
*
)
&
This
->
ddraw
->
IDirect3D7_vtbl
,
riid
,
(
IDirectDrawSurface7
*
)
This
,
&
d3d
);
*
obj
=
COM_INTERFACE_CAST
(
IDirect3DDeviceImpl
,
IDirect3DDevice7
,
IDirect3DDevice
,
d3d
)
;
*
obj
=
d3d
?
(
IDirect3DDevice
*
)
&
((
IDirect3DDeviceImpl
*
)
d3d
)
->
IDirect3DDevice_vtbl
:
NULL
;
TRACE
(
"(%p) Returning IDirect3DDevice interface at %p
\n
"
,
This
,
*
obj
);
return
S_OK
;
...
...
dlls/ddraw/surface_thunks.c
View file @
b09b0fbf
...
...
@@ -29,26 +29,14 @@
#include "winerror.h"
#include "ddraw_private.h"
#include "ddcomimpl.h"
#define CONVERT(pdds) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, \
IDirectDrawSurface3, \
IDirectDrawSurface7, \
(pdds))
#define CONVERT_REV(pdds) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, \
IDirectDrawSurface7, \
IDirectDrawSurface3, \
(pdds))
#define CONVERT(pdds) ((pdds) ? (IDirectDrawSurface7 *)surface_from_surface3(pdds) : NULL)
#define CONVERT_REV(pdds) \
((pdds) ? (IDirectDrawSurface3 *)&((IDirectDrawSurfaceImpl *)(pdds))->IDirectDrawSurface3_vtbl : NULL)
WINE_DEFAULT_DEBUG_CHANNEL
(
ddraw_thunk
);
WINE_DECLARE_DEBUG_CHANNEL
(
ddraw
);
static
inline
IDirectDrawSurfaceImpl
*
surface_from_surface3
(
IDirectDrawSurface3
*
iface
)
{
return
(
IDirectDrawSurfaceImpl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
IDirectDrawSurfaceImpl
,
IDirectDrawSurface3_vtbl
));
}
static
HRESULT
WINAPI
IDirectDrawSurface3Impl_QueryInterface
(
LPDIRECTDRAWSURFACE3
This
,
REFIID
iid
,
LPVOID
*
ppObj
)
...
...
dlls/ddraw/texture.c
View file @
b09b0fbf
...
...
@@ -84,7 +84,7 @@ Thunk_IDirect3DTextureImpl_1_AddRef(IDirect3DTexture *iface)
IDirectDrawSurfaceImpl
*
This
=
surface_from_texture1
(
iface
);
TRACE
(
"(%p)->() thunking to IDirectDrawSurface7 interface.
\n
"
,
This
);
return
IDirectDrawSurface7_AddRef
(
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture
,
IDirectDrawSurface7
,
iface
)
);
return
IDirectDrawSurface7_AddRef
(
(
IDirectDrawSurface7
*
)
This
);
}
static
ULONG
WINAPI
...
...
@@ -103,7 +103,7 @@ Thunk_IDirect3DTextureImpl_1_Release(IDirect3DTexture *iface)
IDirectDrawSurfaceImpl
*
This
=
surface_from_texture1
(
iface
);
TRACE
(
"(%p)->() thunking to IDirectDrawSurface7 interface.
\n
"
,
This
);
return
IDirectDrawSurface7_Release
(
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture
,
IDirectDrawSurface7
,
iface
)
);
return
IDirectDrawSurface7_Release
(
(
IDirectDrawSurface7
*
)
This
);
}
/*****************************************************************************
...
...
@@ -162,9 +162,7 @@ Thunk_IDirect3DTextureImpl_1_PaletteChanged(IDirect3DTexture *iface,
IDirectDrawSurfaceImpl
*
This
=
surface_from_texture1
(
iface
);
TRACE
(
"(%p)->(%08x,%08x) thunking to IDirect3DTexture2 interface.
\n
"
,
This
,
Start
,
Count
);
return
IDirect3DTexture2_PaletteChanged
(
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture
,
IDirect3DTexture2
,
iface
),
Start
,
Count
);
return
IDirect3DTexture2_PaletteChanged
((
IDirect3DTexture2
*
)
&
This
->
IDirect3DTexture2_vtbl
,
Start
,
Count
);
}
...
...
@@ -469,8 +467,8 @@ Thunk_IDirect3DTextureImpl_1_Load(IDirect3DTexture *iface,
IDirectDrawSurfaceImpl
*
Texture
=
surface_from_texture1
(
D3DTexture
);
TRACE
(
"(%p)->(%p) thunking to IDirect3DTexture2 interface.
\n
"
,
This
,
Texture
);
return
IDirect3DTexture2_Load
(
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture
,
IDirect3DTexture2
,
iface
)
,
COM_INTERFACE_CAST
(
IDirectDrawSurfaceImpl
,
IDirect3DTexture
,
IDirect3DTexture2
,
D3DTexture
)
);
return
IDirect3DTexture2_Load
(
(
IDirect3DTexture2
*
)
&
This
->
IDirect3DTexture2_vtbl
,
D3DTexture
?
(
IDirect3DTexture2
*
)
&
surface_from_texture1
(
D3DTexture
)
->
IDirect3DTexture2_vtbl
:
NULL
);
}
/*****************************************************************************
...
...
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