SDL 2.0
SDL_winrtevents_c.h
Go to the documentation of this file.
1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2019 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
23extern "C" {
24#include "../SDL_sysvideo.h"
25}
26
27/*
28 * Internal-use, C-style functions:
29 */
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
37
38#ifdef __cplusplus
39}
40#endif
41
42
43/*
44 * Internal-use, C++/CX functions:
45 */
46#ifdef __cplusplus_winrt
47
48/* Pointers (Mice, Touch, etc.) */
49typedef enum {
50 NormalizeZeroToOne,
51 TransformToSDLWindowSize
52} WINRT_CursorNormalizationType;
53extern Windows::Foundation::Point WINRT_TransformCursorPosition(SDL_Window * window,
54 Windows::Foundation::Point rawPosition,
55 WINRT_CursorNormalizationType normalization);
56extern Uint8 WINRT_GetSDLButtonForPointerPoint(Windows::UI::Input::PointerPoint ^pt);
57extern void WINRT_ProcessPointerPressedEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
58extern void WINRT_ProcessPointerMovedEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
59extern void WINRT_ProcessPointerReleasedEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
60extern void WINRT_ProcessPointerEnteredEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
61extern void WINRT_ProcessPointerExitedEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
62extern void WINRT_ProcessPointerWheelChangedEvent(SDL_Window *window, Windows::UI::Input::PointerPoint ^pointerPoint);
63extern void WINRT_ProcessMouseMovedEvent(SDL_Window * window, Windows::Devices::Input::MouseEventArgs ^args);
64
65/* Keyboard */
66extern void WINRT_ProcessKeyDownEvent(Windows::UI::Core::KeyEventArgs ^args);
67extern void WINRT_ProcessKeyUpEvent(Windows::UI::Core::KeyEventArgs ^args);
68extern void WINRT_ProcessCharacterReceivedEvent(Windows::UI::Core::CharacterReceivedEventArgs ^args);
69
70#if NTDDI_VERSION >= NTDDI_WIN10
71extern SDL_bool WINRT_HasScreenKeyboardSupport(_THIS);
72extern void WINRT_ShowScreenKeyboard(_THIS, SDL_Window *window);
73extern void WINRT_HideScreenKeyboard(_THIS, SDL_Window *window);
74extern SDL_bool WINRT_IsScreenKeyboardShown(_THIS, SDL_Window *window);
75#endif // NTDDI_VERSION >= ...
76
77/* XAML Thread Management */
78extern void WINRT_CycleXAMLThread(void);
79
80#endif // ifdef __cplusplus_winrt
81
82/* vi: set ts=4 sw=4 expandtab: */
#define _THIS
SDL_bool
Definition: SDL_stdinc.h:162
uint8_t Uint8
Definition: SDL_stdinc.h:179
void WINRT_InitTouch(_THIS)
void WINRT_PumpEvents(_THIS)
EGLSurface EGLNativeWindowType * window
Definition: eglext.h:1025
The type used to identify a window.
Definition: SDL_sysvideo.h:74