summaryrefslogtreecommitdiffstats
path: root/Common/NativeApp/src/UWP/App.cpp
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-07-10 05:30:47 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-07-10 05:30:47 +0000
commit6adad8443b5c42ecba8e40700d9993d228939160 (patch)
tree5cc08457e7e22f50b6fb55cec3f955f1d14803e5 /Common/NativeApp/src/UWP/App.cpp
parentUpdated core submodule (fixed glslang cmake options) (diff)
downloadDiligentEngine-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.cpp17
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)