summaryrefslogtreecommitdiffstats
path: root/include/d3dadapter
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2015-06-20 20:06:11 +0200
committerAxel Davy <axel.davy@ens.fr>2016-02-04 22:12:17 +0100
commita961ec335d5f38c07181e4956341c9b4cca59fa4 (patch)
tree38b1b8729d3516591737a5b30bf4819bfc7fff38 /include/d3dadapter
parente59908e57f4f6d63bbe079fde4e0180167e709c1 (diff)
downloadexternal_mesa3d-a961ec335d5f38c07181e4956341c9b4cca59fa4.zip
external_mesa3d-a961ec335d5f38c07181e4956341c9b4cca59fa4.tar.gz
external_mesa3d-a961ec335d5f38c07181e4956341c9b4cca59fa4.tar.bz2
st/nine: Handle Window Occlusion
Apps can know if the window is occluded by checking for specific error messages. The behaviour is different for Device9 and Device9Ex. This allow games to release the mouse and stop rendering until the focus is restored. In case of multiple swapchain we do care only of the device one. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
Diffstat (limited to 'include/d3dadapter')
-rw-r--r--include/d3dadapter/present.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/d3dadapter/present.h b/include/d3dadapter/present.h
index 08a9729..162f703 100644
--- a/include/d3dadapter/present.h
+++ b/include/d3dadapter/present.h
@@ -69,6 +69,8 @@ typedef struct ID3DPresentVtbl
HRESULT (WINAPI *SetCursor)(ID3DPresent *This, void *pBitmap, POINT *pHotspot, BOOL bShow);
HRESULT (WINAPI *SetGammaRamp)(ID3DPresent *This, const D3DGAMMARAMP *pRamp, HWND hWndOverride);
HRESULT (WINAPI *GetWindowInfo)(ID3DPresent *This, HWND hWnd, int *width, int *height, int *depth);
+ /* Available since version 1.1 */
+ BOOL (WINAPI *GetWindowOccluded)(ID3DPresent *This);
} ID3DPresentVtbl;
struct ID3DPresent
@@ -96,6 +98,7 @@ struct ID3DPresent
#define ID3DPresent_SetCursor(p,a,b,c) (p)->lpVtbl->SetCursor(p,a,b,c)
#define ID3DPresent_SetGammaRamp(p,a,b) (p)->lpVtbl->SetGammaRamp(p,a,b)
#define ID3DPresent_GetWindowInfo(p,a,b,c,d) (p)->lpVtbl->GetWindowSize(p,a,b,c,d)
+#define ID3DPresent_GetWindowOccluded(p) (p)->lpVtbl->GetWindowOccluded(p)
typedef struct ID3DPresentGroupVtbl
{