// //DirectXPage.xaml.h // DirectXPage 类的声明。 // #pragma once #include "DirectXPage.g.h" #include "Common\DeviceResources.h" #include "$safeprojectname$Main.h" namespace $safeprojectname$ { /// ///包含 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 低级渲染事件处理程序。 void OnRendering(Platform::Object^ sender, Platform::Object^ args); // 窗口事件处理程序。 void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args); // DisplayInformation 事件处理程序。 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); // 其他事件处理程序。 void AppBarButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void OnCompositionScaleChanged(Windows::UI::Xaml::Controls::SwapChainPanel^ sender, Object^ args); void OnSwapChainPanelSizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e); // 在后台工作线程上跟踪我们的独立输入。 Windows::Foundation::IAsyncAction^ m_inputLoopWorker; Windows::UI::Core::CoreIndependentInputSource^ m_coreInput; // 独立输入处理函数。 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); // 用于在 XAML 页面背景中呈现 DirectX 内容的资源。 std::shared_ptr m_deviceResources; std::unique_ptr<$safeprojectname$Main> m_main; bool m_windowVisible; }; }