src/video/winrt/SDL_winrtgamebar_cpp.h
author David Ludwig
Sat, 20 Aug 2016 13:46:45 -0400
changeset 10222 29d7289e9055
child 10581 56f5a44e876f
permissions -rw-r--r--
WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state

The repro steps were this:
1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher
2. hide the cursor, via a call to SDL_ShowCursor(0)
3. make the Win10 game bar appear, by pressing the Windows + G hotkey
4. observe that the mouse cursor appears, in order to interact with the
game bar (this is expected behavior)
5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey
again, or clicking somewhere in the app

EXPECTED RESULT: cursor disappears, as game bar disappears

ACTUAL RESULT: cursor didn't always disappear
     1 /*
     2   Simple DirectMedia Layer
     3   Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
     4 
     5   This software is provided 'as-is', without any express or implied
     6   warranty.  In no event will the authors be held liable for any damages
     7   arising from the use of this software.
     8 
     9   Permission is granted to anyone to use this software for any purpose,
    10   including commercial applications, and to alter it and redistribute it
    11   freely, subject to the following restrictions:
    12 
    13   1. The origin of this software must not be misrepresented; you must not
    14      claim that you wrote the original software. If you use this software
    15      in a product, an acknowledgment in the product documentation would be
    16      appreciated but is not required.
    17   2. Altered source versions must be plainly marked as such, and must not be
    18      misrepresented as being the original software.
    19   3. This notice may not be removed or altered from any source distribution.
    20 */
    21 #include "SDL_config.h"
    22 
    23 #ifndef _SDL_winrtgamebar_h
    24 #define _SDL_winrtgamebar_h
    25 
    26 #ifdef __cplusplus
    27 /* These are exported as C++ functions, rather than C, to fix a compilation
    28    bug with MSVC 2013, for Windows 8.x builds. */
    29 extern void WINRT_InitGameBar(_THIS);
    30 extern void WINRT_QuitGameBar(_THIS);
    31 #endif
    32 
    33 #endif /* _SDL_winrtmouse_h */
    34 
    35 /* vi: set ts=4 sw=4 expandtab: */