Skip to content
This repository was archived by the owner on Mar 30, 2019. It is now read-only.

Commit 2bce60c

Browse files
committed
SwapChain.Present and SwapChain1.Present now return their result codes so that the application can check whether the window is occluded. This should resolve #746.
1 parent c5a6efa commit 2bce60c

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

Source/SharpDX.DXGI/Mapping.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@
227227
<map param="IVirtualSurfaceImageSourceNative::GetUpdateRectCount::count" return="true"/>
228228
<map method="IVirtualSurfaceImageSourceNative::GetUpdateRects" visibility="internal"/>
229229

230-
<map method="IDXGISwapChain1::Present1" visibility="internal"/>
230+
<map method="IDXGISwapChain::Present" hresult="true"/>
231+
<map method="IDXGISwapChain1::Present1" visibility="internal" hresult="true"/>
231232
<map param="IDXGISwapChain1::Present1::pPresentParameters" type="void"/>
232233
<map param="IDXGISwapChain1::Present1::PresentFlags" type="DXGI_PRESENT_FLAGS" />
233234

Source/SharpDX.DXGI/SwapChain1.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public SwapChain1(Factory2 factory, ComObject device, ref SwapChainDescription1
7979
/// </remarks>
8080
/// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='IDXGISwapChain1::Present1']/*"/>
8181
/// <unmanaged>HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] unsigned int PresentFlags,[In] const void* pPresentParameters)</unmanaged>
82-
public unsafe void Present(int syncInterval, PresentFlags presentFlags, PresentParameters presentParameters)
82+
public unsafe Result Present(int syncInterval, PresentFlags presentFlags, PresentParameters presentParameters)
8383
{
8484
bool hasScrollRectangle = presentParameters.ScrollRectangle.HasValue;
8585
bool hasScrollOffset = presentParameters.ScrollOffset.HasValue;
@@ -95,7 +95,7 @@ public unsafe void Present(int syncInterval, PresentFlags presentFlags, PresentP
9595
native.PScrollRect = hasScrollRectangle ? new IntPtr(&scrollRectangle) : IntPtr.Zero;
9696
native.PScrollOffset = hasScrollOffset ? new IntPtr(&scrollOffset) : IntPtr.Zero;
9797

98-
Present1(syncInterval, presentFlags, new IntPtr(&native));
98+
return Present1(syncInterval, presentFlags, new IntPtr(&native));
9999
}
100100
}
101101
}

0 commit comments

Comments
 (0)