Jacek Caban : dxgi1_2.idl: Added IDXGISwapChain1 declaration.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Dec 11 15:22:16 CST 2014
Module: wine
Branch: master
Commit: ae1f015dab4eb6db007bdd38eca97e9eec6c69aa
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ae1f015dab4eb6db007bdd38eca97e9eec6c69aa
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Dec 11 17:37:11 2014 +0100
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 27dc34c..bba4ab8 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 e89e055..13df046 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;
More information about the wine-cvs
mailing list