- #pragma once
-
- #include <string>
-
- #include "pch.h"
-
- namespace raylibUWP
- {
- ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView
- {
- public:
- App();
-
- // IFrameworkView methods.
- void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView) override;
- void SetWindow(Windows::UI::Core::CoreWindow^ window) override;
- void Load(Platform::String^ entryPoint) override;
- void Run() override;
- void Uninitialize() override;
- private:
- bool mWindowVisible = true;
- bool mSuspended = false;
-
- void GameLoop();
- void PreProcessInputs();
- void PostProcessInputs();
-
- // Helpers
- int GetRaylibKey(Windows::System::VirtualKey kVey);
-
- // Events
- 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 OnWindowSizeChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ 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);
- void OnPointerReleased(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
- void OnPointerWheelChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
- void OnPointerMoved(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::PointerEventArgs^ args);
- void OnKeyDown(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args);
- void OnKeyUp(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::KeyEventArgs^ args);
- void OnCharacterReceived(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::CharacterReceivedEventArgs^ args);
- void OnBackRequested(Platform::Object^ sender, Windows::UI::Core::BackRequestedEventArgs^ args);
- };
-
- ref class AppSource sealed : Windows::ApplicationModel::Core::IFrameworkViewSource
- {
- public:
- Windows::ApplicationModel::Core::IFrameworkView^ CreateView() override;
- };
- }
|