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