1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-14 18:23:52 +01:00
dxvk/src/d3d9/d3d9_monitor.h
2020-02-14 00:46:14 +00:00

85 lines
2.1 KiB
C++

#pragma once
#include "d3d9_include.h"
#include "d3d9_format.h"
namespace dxvk {
/**
* \brief Queries bits per pixel for a format
*
* The format must be a valid swap chain format.
* \param [in] Format The D3D9 format to query
* \returns Bits per pixel for this format
*/
uint32_t GetMonitorFormatBpp(
D3D9Format Format);
/**
* \brief Returns if a format is supported for a backbuffer/swapchain.
*
* \param [in] Format The D3D9 format to query
* \returns If it is supported as a swapchain/backbuffer format.
*/
bool IsSupportedAdapterFormat(
D3D9Format Format,
BOOL Windowed);
bool IsSupportedBackBufferFormat(
D3D9Format AdapterFormat,
D3D9Format BackBufferFormat,
BOOL Windowed);
bool IsSupportedBackBufferFormat(
D3D9Format BackBufferFormat,
BOOL Windowed);
HMONITOR GetDefaultMonitor();
/**
* \brief Sets monitor display mode
*
* \param [in] hMonitor Monitor handle
* \param [in] pMode Display mode properties
* \returns S_OK on success
*/
HRESULT SetMonitorDisplayMode(
HMONITOR hMonitor,
const D3DDISPLAYMODEEX* pMode);
/**
* \brief Queries window client size
*
* \param [in] hWnd Window to query
* \param [out] pWidth Client width
* \param [out] pHeight Client height
*/
void GetWindowClientSize(
HWND hWnd,
UINT* pWidth,
UINT* pHeight);
/**
* \brief Queries monitor size
*
* \param [in] hMonitor Monitor to query
* \param [out] pWidth Client width
* \param [out] pHeight Client height
*/
void GetMonitorClientSize(
HMONITOR hMonitor,
UINT* pWidth,
UINT* pHeight);
/**
* \brief Queries monitor rect
*
* \param [in] hMonitor Monitor to query
* \param [out] pRect The rect to return
*/
void GetMonitorRect(
HMONITOR hMonitor,
RECT* pRect);
}