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
6286c4e7
Commit
6286c4e7
authored
Sep 09, 2006
by
Stefan Dösinger
Committed by
Alexandre Julliard
Sep 10, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ddraw: Pass the fullscreen flag to wined3d.
parent
2d5b19c1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
0 deletions
+21
-0
ddraw.c
dlls/ddraw/ddraw.c
+5
-0
device.c
dlls/wined3d/device.c
+13
-0
wined3d_private.h
dlls/wined3d/wined3d_private.h
+1
-0
wined3d_interface.h
include/wine/wined3d_interface.h
+2
-0
No files found.
dlls/ddraw/ddraw.c
View file @
6286c4e7
...
...
@@ -550,6 +550,9 @@ IDirectDrawImpl_SetCooperativeLevel(IDirectDraw7 *iface,
{
IWineD3DDevice_SetHWND
(
This
->
wineD3DDevice
,
hwnd
);
}
IWineD3DDevice_SetFullscreen
(
This
->
wineD3DDevice
,
FALSE
);
}
else
if
(
cooplevel
&
DDSCL_FULLSCREEN
)
{
...
...
@@ -571,6 +574,8 @@ IDirectDrawImpl_SetCooperativeLevel(IDirectDraw7 *iface,
if
(
This
->
cooperative_level
&
DDSCL_NORMAL
)
{
This
->
cooperative_level
&=
~
DDSCL_NORMAL
;
IWineD3DDevice_SetFullscreen
(
This
->
wineD3DDevice
,
TRUE
);
}
/* Don't override focus windows or private device windows */
...
...
dlls/wined3d/device.c
View file @
6286c4e7
...
...
@@ -2175,6 +2175,18 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Uninit3D(IWineD3DDevice *iface) {
return
WINED3D_OK
;
}
static
void
WINAPI
IWineD3DDeviceImpl_SetFullscreen
(
IWineD3DDevice
*
iface
,
BOOL
fullscreen
)
{
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
TRACE
(
"(%p) Setting DDraw fullscreen mode to %s
\n
"
,
This
,
fullscreen
?
"true"
:
"false"
);
/* DirectDraw apps can change between fullscreen and windowed mode after device creation with
* IDirectDraw7::SetCooperativeLevel. The GDI surface implementation needs to know this.
* DDraw doesn't necessarilly have a swapchain, so we have to store the fullscreen flag
* seperately.
*/
This
->
ddraw_fullscreen
=
fullscreen
;
}
static
HRESULT
WINAPI
IWineD3DDeviceImpl_EnumDisplayModes
(
IWineD3DDevice
*
iface
,
DWORD
Flags
,
UINT
Width
,
UINT
Height
,
WINED3DFORMAT
pixelformat
,
LPVOID
context
,
D3DCB_ENUMDISPLAYMODESCALLBACK
callback
)
{
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
...
...
@@ -7965,6 +7977,7 @@ const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl =
/*** Odd functions **/
IWineD3DDeviceImpl_Init3D
,
IWineD3DDeviceImpl_Uninit3D
,
IWineD3DDeviceImpl_SetFullscreen
,
IWineD3DDeviceImpl_EnumDisplayModes
,
IWineD3DDeviceImpl_EvictManagedResources
,
IWineD3DDeviceImpl_GetAvailableTextureMem
,
...
...
dlls/wined3d/wined3d_private.h
View file @
6286c4e7
...
...
@@ -576,6 +576,7 @@ typedef struct IWineD3DDeviceImpl
IWineD3DSurface
*
ddraw_primary
;
DWORD
ddraw_width
,
ddraw_height
;
WINED3DFORMAT
ddraw_format
;
BOOL
ddraw_fullscreen
;
/* List of GLSL shader programs and their associated vertex & pixel shaders */
struct
list
glsl_shader_progs
;
...
...
include/wine/wined3d_interface.h
View file @
6286c4e7
...
...
@@ -381,6 +381,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase)
STDMETHOD_
(
HRESULT
,
CreatePalette
)(
THIS_
DWORD
Flags
,
PALETTEENTRY
*
PalEnt
,
struct
IWineD3DPalette
**
Palette
,
IUnknown
*
Parent
);
STDMETHOD
(
Init3D
)(
THIS_
WINED3DPRESENT_PARAMETERS
*
pPresentationParameters
,
D3DCB_CREATEADDITIONALSWAPCHAIN
D3DCB_CreateAdditionalSwapChain
);
STDMETHOD
(
Uninit3D
)(
THIS
);
STDMETHOD_
(
void
,
SetFullscreen
)(
THIS_
BOOL
fullscreen
);
STDMETHOD
(
EnumDisplayModes
)(
THIS_
DWORD
Flags
,
UINT
Width
,
UINT
Height
,
WINED3DFORMAT
Format
,
void
*
context
,
D3DCB_ENUMDISPLAYMODESCALLBACK
cb
)
PURE
;
STDMETHOD
(
EvictManagedResources
)(
THIS
)
PURE
;
STDMETHOD_
(
UINT
,
GetAvailableTextureMem
)(
THIS
)
PURE
;
...
...
@@ -521,6 +522,7 @@ DECLARE_INTERFACE_(IWineD3DDevice,IWineD3DBase)
#define IWineD3DDevice_CreatePalette(p, a, b, c, d) (p)->lpVtbl->CreatePalette(p, a, b, c, d)
#define IWineD3DDevice_Init3D(p, a, b) (p)->lpVtbl->Init3D(p, a, b)
#define IWineD3DDevice_Uninit3D(p) (p)->lpVtbl->Uninit3D(p)
#define IWineD3DDevice_SetFullscreen(p, a) (p)->lpVtbl->SetFullscreen(p, a)
#define IWineD3DDevice_EnumDisplayModes(p,a,b,c,d,e,f) (p)->lpVtbl->EnumDisplayModes(p,a,b,c,d,e,f)
#define IWineD3DDevice_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
#define IWineD3DDevice_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
...
...
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