This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_WinRTApp.h
57 lines (49 loc) · 2.49 KB
1
2
3
#pragma once
#include "SDLmain_WinRT_common.h"
4
#include "SDL_winrtvideo.h"
5
#include "SDL_winrtrenderer.h"
6
7
8
#include <vector>
using namespace Windows::UI::Core;
9
10
11
12
13
14
15
16
17
18
19
20
21
ref class SDL_WinRTApp sealed : public Windows::ApplicationModel::Core::IFrameworkView
{
public:
SDL_WinRTApp();
// IFrameworkView Methods.
virtual void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView);
virtual void SetWindow(Windows::UI::Core::CoreWindow^ window);
virtual void Load(Platform::String^ entryPoint);
virtual void Run();
virtual void Uninitialize();
22
23
24
internal:
// SDL-specific methods
SDL_DisplayMode GetMainDisplayMode();
25
void PumpEvents();
26
const SDL_WindowData * GetSDLWindowData() const;
27
bool HasSDLWindowData() const;
28
void SetSDLWindowData(const SDL_WindowData * windowData);
29
void UpdateWindowFramebuffer(SDL_Surface * surface, SDL_Rect * rects, int numrects);
30
31
32
33
34
35
36
37
38
39
40
protected:
// Event Handlers.
void OnWindowSizeChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ args);
void OnLogicalDpiChanged(Platform::Object^ sender);
void OnActivated(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView, Windows::ApplicationModel::Activation::IActivatedEventArgs^ args);
void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ args);
void OnResuming(Platform::Object^ sender, Platform::Object^ args);
void OnWindowClosed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::CoreWindowEventArgs^ args);
void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args);
void OnPointerPressed(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
41
void OnPointerReleased(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
42
void OnPointerMoved(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
43
44
void OnKeyDown(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args);
void OnKeyUp(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args);
45
46
private:
47
SDL_winrtrenderer^ m_renderer;
48
49
bool m_windowClosed;
bool m_windowVisible;
50
const SDL_WindowData* m_sdlWindowData;
51
52
53
54
55
56
57
};
ref class Direct3DApplicationSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource
{
public:
virtual Windows::ApplicationModel::Core::IFrameworkView^ CreateView();
};