// // DirectXPage.xaml.h // Declaration of the DirectXPage class. // #pragma once #include "DirectXPage.g.h" #include "ShaderCompiler.h" namespace Cocos2dShaderCompiler { /// /// A page that hosts a DirectX SwapChainPanel. /// public ref class DirectXPage sealed { public: DirectXPage(); virtual ~DirectXPage(); void SaveInternalState(Windows::Foundation::Collections::IPropertySet^ state); void LoadInternalState(Windows::Foundation::Collections::IPropertySet^ state); private: // XAML low-level rendering event handler. void OnRendering(Platform::Object^ sender, Platform::Object^ args); // Window event handlers. void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args); // DisplayInformation event handlers. void OnDpiChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); void OnDisplayContentsInvalidated(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); // Other event handlers. void OnCompositionScaleChanged(Windows::UI::Xaml::Controls::SwapChainPanel^ sender, Object^ args); void OnCompile(Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); // Track our independent input on a background worker thread. Windows::Foundation::IAsyncAction^ m_inputLoopWorker; Windows::UI::Core::CoreIndependentInputSource^ m_coreInput; // Independent input handling functions. void OnPointerPressed(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); void OnPointerMoved(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); void OnPointerReleased(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); ShaderCompiler compiler; bool m_windowVisible; }; }