From ae1f015dab4eb6db007bdd38eca97e9eec6c69aa Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 11 Dec 2014 17:37:11 +0100 Subject: [PATCH] dxgi1_2.idl: Added IDXGISwapChain1 declaration. --- include/dxgi1_2.idl | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++ include/dxgitype.h | 12 ++++++++ 2 files changed, 97 insertions(+) diff --git a/include/dxgi1_2.idl b/include/dxgi1_2.idl index 27dc34c876c..bba4ab804c3 100644 --- a/include/dxgi1_2.idl +++ b/include/dxgi1_2.idl @@ -24,6 +24,14 @@ typedef enum _DXGI_OFFER_RESOURCE_PRIORITY { DXGI_OFFER_RESOURCE_PRIORITY_HIGH } DXGI_OFFER_RESOURCE_PRIORITY; +typedef enum DXGI_ALPHA_MODE { + DXGI_ALPHA_MODE_UNSPECIFIED = 0, + DXGI_ALPHA_MODE_PREMULTIPLIED = 1, + DXGI_ALPHA_MODE_STRAIGHT = 2, + DXGI_ALPHA_MODE_IGNORE = 3, + DXGI_ALPHA_MODE_FORCE_DWORD = 0xffffffff +} DXGI_ALPHA_MODE; + [ object, uuid(05008617-fbfd-4051-a790-144884b4f6a9), @@ -45,3 +53,80 @@ interface IDXGIDevice2 : IDXGIDevice1 HRESULT EnqueueSetEvent( [in] HANDLE hEvent); } + +typedef enum DXGI_SCALING { + DXGI_SCALING_STRETCH = 0, + DXGI_SCALING_NONE = 1 +} DXGI_SCALING; + +typedef struct DXGI_SWAP_CHAIN_DESC1 { + UINT Width; + UINT Height; + DXGI_FORMAT Format; + BOOL Stereo; + DXGI_SAMPLE_DESC SampleDesc; + DXGI_USAGE BufferUsage; + UINT BufferCount; + DXGI_SCALING Scaling; + DXGI_SWAP_EFFECT SwapEffect; + DXGI_ALPHA_MODE AlphaMode; + UINT Flags; +} DXGI_SWAP_CHAIN_DESC1; + +typedef struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC { + DXGI_RATIONAL RefreshRate; + DXGI_MODE_SCANLINE_ORDER ScanlineOrdering; + DXGI_MODE_SCALING Scaling; + BOOL Windowed; +} DXGI_SWAP_CHAIN_FULLSCREEN_DESC; + +typedef struct DXGI_PRESENT_PARAMETERS { + UINT DirtyRectsCount; + RECT *pDirtyRects; + RECT *pScrollRect; + POINT *pScrollOffset; +} DXGI_PRESENT_PARAMETERS; + +[ + object, + uuid(790a45f7-0d42-4876-983a-0a55cfe6f4aa), + local, + pointer_default(unique) +] +interface IDXGISwapChain1 : IDXGISwapChain +{ + HRESULT GetDesc1( + [out] DXGI_SWAP_CHAIN_DESC1 *pDesc); + + HRESULT GetFullscreenDesc( + [out] DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pDesc); + + HRESULT GetHwnd( + [out] HWND *pHwnd); + + HRESULT GetCoreWindow( + [in] REFIID refiid, + [out] void **ppUnk); + + HRESULT Present1( + [in] UINT SyncInterval, + [in] UINT PresentFlags, + [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters); + + BOOL IsTemporaryMonoSupported(); + + HRESULT GetRestrictToOutput( + [out] IDXGIOutput **ppRestrictToOutput); + + HRESULT SetBackgroundColor( + [in] const DXGI_RGBA *pColor); + + HRESULT GetBackgroundColor( + [out] DXGI_RGBA *pColor); + + HRESULT SetRotation( + [in] DXGI_MODE_ROTATION Rotation); + + HRESULT GetRotation( + [out] DXGI_MODE_ROTATION *pRotation); +} diff --git a/include/dxgitype.h b/include/dxgitype.h index e89e055c153..13df04641d8 100644 --- a/include/dxgitype.h +++ b/include/dxgitype.h @@ -21,6 +21,18 @@ #include "dxgiformat.h" +#ifndef D3DCOLORVALUE_DEFINED +typedef struct _D3DCOLORVALUE { + float r; + float g; + float b; + float a; +} D3DCOLORVALUE; +#define D3DCOLORVALUE_DEFINED +#endif + +typedef D3DCOLORVALUE DXGI_RGBA; + typedef struct DXGI_SAMPLE_DESC { UINT Count; UINT Quality; -- 2.11.4.GIT