123
This commit is contained in:
73
RenderDll/XRenderD3D9/D3DSettings.h
Normal file
73
RenderDll/XRenderD3D9/D3DSettings.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef D3DSETTINGS_H
|
||||
#define D3DSETTINGS_H
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CD3DSettings
|
||||
// Desc: Current D3D settings: adapter, device, mode, formats, etc.
|
||||
//-----------------------------------------------------------------------------
|
||||
class CD3DSettings
|
||||
{
|
||||
public:
|
||||
bool IsWindowed;
|
||||
|
||||
D3DAdapterInfo* pWindowed_AdapterInfo;
|
||||
D3DDeviceInfo* pWindowed_DeviceInfo;
|
||||
D3DDeviceCombo* pWindowed_DeviceCombo;
|
||||
|
||||
D3DDISPLAYMODE Windowed_DisplayMode; // not changable by the user
|
||||
D3DFORMAT Windowed_DepthStencilBufferFormat;
|
||||
D3DMULTISAMPLE_TYPE Windowed_MultisampleType;
|
||||
DWORD Windowed_MultisampleQuality;
|
||||
VertexProcessingType Windowed_VertexProcessingType;
|
||||
UINT Windowed_PresentInterval;
|
||||
int Windowed_Width;
|
||||
int Windowed_Height;
|
||||
|
||||
D3DAdapterInfo* pFullscreen_AdapterInfo;
|
||||
D3DDeviceInfo* pFullscreen_DeviceInfo;
|
||||
D3DDeviceCombo* pFullscreen_DeviceCombo;
|
||||
|
||||
D3DDISPLAYMODE Fullscreen_DisplayMode; // changable by the user
|
||||
D3DFORMAT Fullscreen_DepthStencilBufferFormat;
|
||||
D3DMULTISAMPLE_TYPE Fullscreen_MultisampleType;
|
||||
DWORD Fullscreen_MultisampleQuality;
|
||||
VertexProcessingType Fullscreen_VertexProcessingType;
|
||||
UINT Fullscreen_PresentInterval;
|
||||
|
||||
D3DAdapterInfo* PAdapterInfo() { return IsWindowed ? pWindowed_AdapterInfo : pFullscreen_AdapterInfo; }
|
||||
D3DDeviceInfo* PDeviceInfo() { return IsWindowed ? pWindowed_DeviceInfo : pFullscreen_DeviceInfo; }
|
||||
D3DDeviceCombo* PDeviceCombo() { return IsWindowed ? pWindowed_DeviceCombo : pFullscreen_DeviceCombo; }
|
||||
|
||||
int AdapterOrdinal() { return PDeviceCombo()->AdapterOrdinal; }
|
||||
D3DDEVTYPE DevType() { return PDeviceCombo()->DevType; }
|
||||
D3DFORMAT BackBufferFormat() { return PDeviceCombo()->BackBufferFormat; }
|
||||
D3DFORMAT AdapterFormat() { return PDeviceCombo()->AdapterFormat; }
|
||||
|
||||
D3DDISPLAYMODE DisplayMode() { return IsWindowed ? Windowed_DisplayMode : Fullscreen_DisplayMode; }
|
||||
void SetDisplayMode(D3DDISPLAYMODE value) { if (IsWindowed) Windowed_DisplayMode = value; else Fullscreen_DisplayMode = value; }
|
||||
|
||||
D3DFORMAT DepthStencilBufferFormat() { return IsWindowed ? Windowed_DepthStencilBufferFormat : Fullscreen_DepthStencilBufferFormat; }
|
||||
void SetDepthStencilBufferFormat(D3DFORMAT value) { if (IsWindowed) Windowed_DepthStencilBufferFormat = value; else Fullscreen_DepthStencilBufferFormat = value; }
|
||||
|
||||
D3DMULTISAMPLE_TYPE MultisampleType() { return IsWindowed ? Windowed_MultisampleType : Fullscreen_MultisampleType; }
|
||||
void SetMultisampleType(D3DMULTISAMPLE_TYPE value) { if (IsWindowed) Windowed_MultisampleType = value; else Fullscreen_MultisampleType = value; }
|
||||
|
||||
DWORD MultisampleQuality() { return IsWindowed ? Windowed_MultisampleQuality : Fullscreen_MultisampleQuality; }
|
||||
void SetMultisampleQuality(DWORD value) { if (IsWindowed) Windowed_MultisampleQuality = value; else Fullscreen_MultisampleQuality = value; }
|
||||
|
||||
VertexProcessingType GetVertexProcessingType() { return IsWindowed ? Windowed_VertexProcessingType : Fullscreen_VertexProcessingType; }
|
||||
void SetVertexProcessingType(VertexProcessingType value) { if (IsWindowed) Windowed_VertexProcessingType = value; else Fullscreen_VertexProcessingType = value; }
|
||||
|
||||
UINT PresentInterval() { return IsWindowed ? Windowed_PresentInterval : Fullscreen_PresentInterval; }
|
||||
void SetPresentInterval(UINT value) { if (IsWindowed) Windowed_PresentInterval = value; else Fullscreen_PresentInterval = value; }
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user