diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2018-07-10 05:30:47 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2018-07-10 05:30:47 +0000 |
| commit | 6adad8443b5c42ecba8e40700d9993d228939160 (patch) | |
| tree | 5cc08457e7e22f50b6fb55cec3f955f1d14803e5 /Common/NativeApp/src/UWP/App.cpp | |
| parent | Updated core submodule (fixed glslang cmake options) (diff) | |
| download | DiligentEngine-6adad8443b5c42ecba8e40700d9993d228939160.tar.gz DiligentEngine-6adad8443b5c42ecba8e40700d9993d228939160.zip | |
Added command line parsing in UWP applications
Diffstat (limited to 'Common/NativeApp/src/UWP/App.cpp')
| -rw-r--r-- | Common/NativeApp/src/UWP/App.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Common/NativeApp/src/UWP/App.cpp b/Common/NativeApp/src/UWP/App.cpp index e0af485..6147e6d 100644 --- a/Common/NativeApp/src/UWP/App.cpp +++ b/Common/NativeApp/src/UWP/App.cpp @@ -32,6 +32,7 @@ #endif #include "App.h" +#include "StringTools.h" #include <ppltasks.h> @@ -83,7 +84,7 @@ void App::Initialize(CoreApplicationView^ applicationView) // can make the CoreWindow active and start rendering on the window. applicationView->Activated += ref new TypedEventHandler<CoreApplicationView^, IActivatedEventArgs^>(this, &App::OnActivated); - + CoreApplication::Suspending += ref new EventHandler<SuspendingEventArgs^>(this, &App::OnSuspending); @@ -180,8 +181,18 @@ void App::Uninitialize() void App::OnActivated(CoreApplicationView^ applicationView, IActivatedEventArgs^ args) { - // Run() won't start until the CoreWindow is activated. - CoreWindow::GetForCurrentThread()->Activate(); + if (args->Kind == ActivationKind::Launch) + { + LaunchActivatedEventArgs^ launchArgs = (LaunchActivatedEventArgs^)args; + auto CmdLine = Diligent::NarrowString(launchArgs->Arguments->Data()); + m_Main->ProcessCommandLine(CmdLine.c_str()); + } + + auto Title = Diligent::WidenString(m_Main->GetAppTitle()); + Windows::UI::ViewManagement::ApplicationView::GetForCurrentView()->Title = ref new Platform::String(Title.c_str()); + + // Run() won't start until the CoreWindow is activated. + CoreWindow::GetForCurrentThread()->Activate(); } void App::OnSuspending(Platform::Object^ sender, SuspendingEventArgs^ args) |
