From 358cd4375085f482a69a6f41dff8ec8b714f8c51 Mon Sep 17 00:00:00 2001 From: Manodasan Wignarajah Date: Thu, 4 Sep 2025 11:32:35 -0700 Subject: [PATCH 1/7] Update TargetPlatformVersion where 22000 is used (#508) --- .../CppWinMainActivation/CppWinMainActivation.vcxproj | 2 +- .../CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj | 2 +- .../cpp-console-package/cpp-console-package.wapproj | 2 +- .../SelfContainedDeployment (Package).wapproj | 2 +- .../SampleWidgetProviderAppPackage.wapproj | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj index 022916a3a..e70f767e3 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj @@ -38,7 +38,7 @@ Win32Proj {11400d28-21eb-4f92-ae9e-0ee652c98400} CppWinMainActivation - 10.0.22000.0 + 10.0 CppWinMainActivation diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj index 775a81b2c..37772ecc5 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj @@ -16,7 +16,7 @@ {a55ae73a-73fc-430a-8755-4df2e6f774b0} Win32Proj CppWinRtConsoleInstancing - 10.0.22000.0 + 10.0 10.0.17134.0 diff --git a/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj b/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj index 4d17e2e86..0475ab741 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj +++ b/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj @@ -45,7 +45,7 @@ 21ac7584-8c7c-43d5-b879-f8f58581bbc1 - 10.0.22000.0 + 10.0.26100.0 10.0.17763.0 en-US false diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj index bc8296fe6..0e85b8e25 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj @@ -36,7 +36,7 @@ a8f28d10-4c02-4a5a-80f1-8938c03b5c4f - 10.0.22000.0 + 10.0.26100.0 10.0.17763.0 net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj index d8cf1a4dc..e9041dd58 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj @@ -35,7 +35,7 @@ 7C9DBD64-9DC7-4706-8FDA-8Df2A43184FE - 10.0.22000.0 + 10.0.26100.0 10.0.17763.0 net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US From 86c64ea37c55fbf17797276a05d923863c6359e5 Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Wed, 26 Aug 2026 10:03:11 -0400 Subject: [PATCH 2/7] Modernize stable samples for Windows App SDK 2.4 Port the proven release/experimental framework and package updates to main while preserving samples that exercise version-pinned experimental APIs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26f0def2-a93d-4d41-a610-c6c6fa760d7e --- .../CppWinRtConsoleActivation.vcxproj | 16 +++++----- .../CppWinRtConsoleActivation/packages.config | 4 +-- .../CppWinMainActivation.vcxproj | 16 +++++----- .../CppWinMainActivation/packages.config | 4 +-- .../CppWinMainActivationPkg.wapproj | 4 +-- .../CppWinMainActivation.vcxproj | 16 +++++----- .../CppWinMainActivation/packages.config | 4 +-- ...ppWinUiDesktopActivation (Package).wapproj | 4 +-- .../CppWinUiDesktopActivation.vcxproj | 16 +++++----- .../CppWinUiDesktopActivation/packages.config | 4 +-- .../CsConsoleActivation.csproj | 6 ++-- .../CsWinFormsActivation.csproj | 6 ++-- .../CsWpfActivation/CsWpfActivation.csproj | 6 ++-- .../CsWpfActivation/CsWpfActivation.csproj | 6 ++-- .../CsWpfActivationPkg.wapproj | 6 ++-- ...CsWinUiDesktopActivation (Package).wapproj | 6 ++-- .../CsWinUiDesktopActivation.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../CppWinRtConsoleEnv.vcxproj | 16 +++++----- .../CppWinRtConsoleEnv/packages.config | 4 +-- .../CppWinMainEnv/CppWinMainEnv.vcxproj | 16 +++++----- .../CppWinMainEnv/packages.config | 4 +-- .../CsWinFormsEnv/CsWinFormsEnv.csproj | 6 ++-- .../CppWinRtConsoleInstancing.vcxproj | 16 +++++----- .../CppWinRtConsoleInstancing/packages.config | 4 +-- .../CppWinMainInstancing.vcxproj | 16 +++++----- .../CppWinMainInstancing/packages.config | 4 +-- .../CppWinMainInstancingPkg.wapproj | 4 +-- .../CppWinMainInstancing.vcxproj | 16 +++++----- .../CppWinMainInstancing/packages.config | 4 +-- ...ppWinUiDesktopInstancing (Package).wapproj | 4 +-- .../CppWinUiDesktopInstancing.vcxproj | 16 +++++----- .../CppWinUiDesktopInstancing/packages.config | 4 +-- .../CsConsoleInstancing.csproj | 6 ++-- .../CsWinFormsInstancing.csproj | 6 ++-- .../CsWpfInstancing/CsWpfInstancing.csproj | 6 ++-- .../CsWpfInstancing/CsWpfInstancing.csproj | 6 ++-- .../CsWpfInstancingPkg.wapproj | 6 ++-- ...CsWinUiDesktopInstancing (Package).wapproj | 6 ++-- .../CsWinUiDesktopInstancing.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cpp-console-unpackaged.vcxproj | 16 +++++----- .../cpp-console-unpackaged/packages.config | 4 +-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cs-winui-packaged.csproj | 8 ++--- .../cpp-winui-packaged.vcxproj | 16 +++++----- .../cpp-winui-packaged/packages.config | 4 +-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cs-winui-packaged.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../WinUI-CS-ShareTargetSampleApp.csproj | 8 ++--- .../CppWinRtConsoleState.vcxproj | 16 +++++----- .../CppWinRtConsoleState/packages.config | 4 +-- .../CppWinMainState/CppWinMainState.vcxproj | 16 +++++----- .../CppWinMainState/packages.config | 4 +-- .../CppWinMainStatePkg.wapproj | 4 +-- .../CppWinMainState/CppWinMainState.vcxproj | 16 +++++----- .../CppWinMainState/packages.config | 4 +-- .../CppWinUiDesktopState (Package).wapproj | 4 +-- .../CppWinUiDesktopState.vcxproj | 16 +++++----- .../CppWinUiDesktopState/packages.config | 4 +-- .../CsConsoleState/CsConsoleState.csproj | 6 ++-- .../CsWinFormsState/CsWinFormsState.csproj | 6 ++-- .../CsWpfState/CsWpfState.csproj | 6 ++-- .../CsWpfState/CsWpfState.csproj | 6 ++-- .../CsWpfStatePkg/CsWpfStatePkg.wapproj | 6 ++-- .../CsWinUiDesktopState (Package).wapproj | 6 ++-- .../CsWinUiDesktopState.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cpp-winui/DynamicRefreshRateTool.vcxproj | 16 +++++----- .../cpp-winui/packages.config | 4 +-- Samples/CustomControls/CppApp/CppApp.vcxproj | 16 +++++----- Samples/CustomControls/CppApp/packages.config | 4 +-- .../CppAppUnpackaged/CppAppUnpackaged.vcxproj | 16 +++++----- .../CppAppUnpackaged/packages.config | 4 +-- Samples/CustomControls/CsApp/CsApp.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../WinUIComponentCs/WinUIComponentCs.csproj | 8 ++--- .../cpp-winui/DeploymentManagerSample.vcxproj | 16 +++++----- .../cpp-winui/packages.config | 4 +-- .../cs-winui/DeploymentManagerSample.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- Samples/Input/cs-winui/Input.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../Insights/cpp-win32/InsightsSample.vcxproj | 6 ++-- Samples/Insights/cpp-win32/packages.config | 10 +++--- .../SampleWinUIClassLibrary.csproj | 2 +- .../SimpleIslandApp.vcxproj | 12 +++---- .../cpp-win32-unpackaged/packages.config | 4 +-- .../WinFormsWithIslandApp.csproj | 2 +- .../Mica-WebView2/MicaWebView2.vcxproj | 32 +++++++++---------- .../Mica-WebView2/packages.config | 6 ++-- .../WinAppSDKMicaSample.vcxproj | 26 +++++++-------- .../WinAppSDKMicaSample/packages.config | 4 +-- .../CppUnpackagedAppNotifications.vcxproj | 16 +++++----- .../packages.config | 4 +-- .../CsUnpackagedAppNotifications.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cpp-console-package.wapproj | 4 +-- .../cpp-console-packaged/cpp-console.vcxproj | 16 +++++----- .../Push/cpp-console-packaged/packages.config | 4 +-- .../cpp-console-unpackaged.vcxproj | 16 +++++----- .../cpp-console-unpackaged/packages.config | 4 +-- .../cpp-winui/PhotoEditor/PhotoEditor.vcxproj | 16 +++++----- .../cpp-winui/PhotoEditor/packages.config | 4 +-- .../PhotoEditor/cs-winui/PhotoEditor.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../console_unpackaged_app.vcxproj | 16 +++++----- .../cpp-console-unpackaged/packages.config | 4 +-- ...desktop_packaged_app_cpp (Package).wapproj | 4 +-- .../packages.config | 4 +-- .../winui_desktop_packaged_app_cpp.vcxproj | 16 +++++----- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../winforms_unpackaged_app.csproj | 8 ++--- .../cs-winui/ClassLibrary/ClassLibrary.csproj | 8 ++--- ...nui_desktop_packaged_app (Package).wapproj | 6 ++-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../winui_desktop_packaged_app.csproj | 8 ++--- .../wpf_packaged_app (Package).wapproj | 6 ++-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../wpf_packaged_app/wpf_packaged_app.csproj | 6 ++-- .../DepthDemoApp/DepthDemoApp.csproj | 2 +- .../MaterialCreatorApp.csproj | 2 +- .../ExpressionBuilder.csproj | 4 +-- .../SampleGalleryApp/SampleGalleryApp.csproj | 4 +-- .../SamplesCommon/SamplesCommon.csproj | 4 +-- Samples/SecureUI/Package/Package.wapproj | 4 +-- Samples/SecureUI/Windowing/Windowing.vcxproj | 32 +++++++++---------- Samples/SecureUI/Windowing/packages.config | 6 ++-- .../SelfContainedDeployment.vcxproj | 16 +++++----- .../cpp-console-unpackaged/packages.config | 4 +-- .../SelfContainedDeployment.vcxproj | 16 +++++----- .../cpp/cpp-winui-packaged/packages.config | 4 +-- .../SelfContainedDeployment.vcxproj | 16 +++++----- .../cpp/cpp-winui-unpackaged/packages.config | 4 +-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../SelfContainedDeployment.csproj | 4 +-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../SelfContainedDeployment.csproj | 6 ++-- .../SelfContainedDeployment (Package).wapproj | 6 ++-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../SelfContainedDeployment.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../SelfContainedDeployment.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../SelfContainedDeployment.csproj | 8 ++--- .../DWriteCoreGallery (packaging).wapproj | 4 +-- .../DWriteCoreGallery.vcxproj | 16 +++++----- .../DWriteCoreGallery/packages.config | 4 +-- .../cpp-console-unpackaged/Unpackaged.vcxproj | 16 +++++----- .../cpp-console-unpackaged/packages.config | 4 +-- .../PublishProfiles/FolderProfile.pubxml | 4 +-- .../cs-console-unpackaged/Unpackaged.csproj | 6 ++-- .../SampleWidgetProviderApp.vcxproj | 16 +++++----- .../SampleWidgetProviderApp/packages.config | 4 +-- .../SampleWidgetProviderAppPackage.wapproj | 6 ++-- .../CsConsoleWidgetProvider.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../cpp/cpp-win32/Windowing/Windowing.vcxproj | 32 +++++++++---------- .../cpp/cpp-win32/Windowing/packages.config | 6 ++-- .../SampleApp (Package).wapproj | 4 +-- .../cpp/cpp-winui/SampleApp/SampleApp.vcxproj | 16 +++++----- .../cpp/cpp-winui/SampleApp/packages.config | 4 +-- .../winforms_unpackaged_app.csproj | 8 ++--- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../Windowing/cs/cs-winui/Windowing.csproj | 8 ++--- .../wpf_packaged_app (Package).wapproj | 6 ++-- .../PublishProfiles/win10-arm64.pubxml | 2 +- .../PublishProfiles/win10-x64.pubxml | 2 +- .../PublishProfiles/win10-x86.pubxml | 2 +- .../wpf_packaged_app/wpf_packaged_app.csproj | 6 ++-- .../Properties/PublishProfiles/win-x64.pubxml | 2 +- .../Properties/PublishProfiles/win-x86.pubxml | 2 +- .../cs-winui/WindowsAISample.csproj | 4 +-- 216 files changed, 692 insertions(+), 692 deletions(-) diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/CppWinRtConsoleActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/CppWinRtConsoleActivation.vcxproj index ae050c40e..9ad45885a 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/CppWinRtConsoleActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/CppWinRtConsoleActivation.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -146,8 +146,8 @@ - - + + @@ -155,9 +155,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj index 57bd07b41..4ac8bf27b 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -235,8 +235,8 @@ - - + + @@ -244,9 +244,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivationPkg/CppWinMainActivationPkg.wapproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivationPkg/CppWinMainActivationPkg.wapproj index d6d0bb7b4..3bcfc9d64 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivationPkg/CppWinMainActivationPkg.wapproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivationPkg/CppWinMainActivationPkg.wapproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj index e70f767e3..5f490ddf1 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -236,8 +236,8 @@ - - + + @@ -245,9 +245,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation (Package)/CppWinUiDesktopActivation (Package).wapproj b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation (Package)/CppWinUiDesktopActivation (Package).wapproj index 20230a1d8..b28e79bd1 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation (Package)/CppWinUiDesktopActivation (Package).wapproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation (Package)/CppWinUiDesktopActivation (Package).wapproj @@ -63,10 +63,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj index df9bf079f..c7f41a495 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj @@ -4,8 +4,8 @@ ..\..\packages - - + + @@ -145,8 +145,8 @@ - - + + @@ -154,9 +154,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cs/cs-console-unpackaged/CsConsoleActivation/CsConsoleActivation.csproj b/Samples/AppLifecycle/Activation/cs/cs-console-unpackaged/CsConsoleActivation/CsConsoleActivation.csproj index 44d045cc0..f99d61d53 100644 --- a/Samples/AppLifecycle/Activation/cs/cs-console-unpackaged/CsConsoleActivation/CsConsoleActivation.csproj +++ b/Samples/AppLifecycle/Activation/cs/cs-console-unpackaged/CsConsoleActivation/CsConsoleActivation.csproj @@ -2,14 +2,14 @@ Exe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 C.ico - + diff --git a/Samples/AppLifecycle/Activation/cs/cs-winforms-unpackaged/CsWinFormsActivation/CsWinFormsActivation.csproj b/Samples/AppLifecycle/Activation/cs/cs-winforms-unpackaged/CsWinFormsActivation/CsWinFormsActivation.csproj index 38f1b1176..d0a2fa6b2 100644 --- a/Samples/AppLifecycle/Activation/cs/cs-winforms-unpackaged/CsWinFormsActivation/CsWinFormsActivation.csproj +++ b/Samples/AppLifecycle/Activation/cs/cs-winforms-unpackaged/CsWinFormsActivation/CsWinFormsActivation.csproj @@ -2,15 +2,15 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 D.ico - + diff --git a/Samples/AppLifecycle/Activation/cs/cs-wpf-unpackaged/CsWpfActivation/CsWpfActivation.csproj b/Samples/AppLifecycle/Activation/cs/cs-wpf-unpackaged/CsWpfActivation/CsWpfActivation.csproj index 5d7221a91..d38e3a3e6 100644 --- a/Samples/AppLifecycle/Activation/cs/cs-wpf-unpackaged/CsWpfActivation/CsWpfActivation.csproj +++ b/Samples/AppLifecycle/Activation/cs/cs-wpf-unpackaged/CsWpfActivation/CsWpfActivation.csproj @@ -2,10 +2,10 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 CsWpfActivation.Program E.ico @@ -15,7 +15,7 @@ - + diff --git a/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivation/CsWpfActivation.csproj b/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivation/CsWpfActivation.csproj index 72e40ab57..74cecb7b7 100644 --- a/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivation/CsWpfActivation.csproj +++ b/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivation/CsWpfActivation.csproj @@ -2,10 +2,10 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64;win-x86;win-x64;win-arm64 + win-x64;win-x86;win-arm64;win-x86;win-x64;win-arm64 CsWpfActivation.Program @@ -14,7 +14,7 @@ - + diff --git a/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivationPkg/CsWpfActivationPkg.wapproj b/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivationPkg/CsWpfActivationPkg.wapproj index c35b79445..75d326a6f 100644 --- a/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivationPkg/CsWpfActivationPkg.wapproj +++ b/Samples/AppLifecycle/Activation/cs1/cs-wpf-packaged/CsWpfActivationPkg/CsWpfActivationPkg.wapproj @@ -45,7 +45,7 @@ cda89bd7-c508-4aff-b184-e06fe48860fb 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWpfActivation\CsWpfActivation.csproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation (Package)/CsWinUiDesktopActivation (Package).wapproj b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation (Package)/CsWinUiDesktopActivation (Package).wapproj index 1fefcb775..bc9e1b2d1 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation (Package)/CsWinUiDesktopActivation (Package).wapproj +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation (Package)/CsWinUiDesktopActivation (Package).wapproj @@ -38,7 +38,7 @@ 75f5a3a4-5821-42a6-96a8-85fea269b1e9 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWinUiDesktopActivation\CsWinUiDesktopActivation.csproj @@ -64,10 +64,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/CsWinUiDesktopActivation.csproj b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/CsWinUiDesktopActivation.csproj index f62f1ab5b..af53edac7 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/CsWinUiDesktopActivation.csproj +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/CsWinUiDesktopActivation.csproj @@ -1,18 +1,18 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsWinUiDesktopActivation app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true - - + + diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj index 6411ef6b1..fe79c1c6a 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj @@ -5,8 +5,8 @@ ..\packages - - + + true true @@ -131,18 +131,18 @@ - - + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj index aa30566b6..aa05d851f 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -236,8 +236,8 @@ - - + + @@ -245,9 +245,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cs-winforms-unpackaged/CsWinFormsEnv/CsWinFormsEnv.csproj b/Samples/AppLifecycle/EnvironmentVariables/cs-winforms-unpackaged/CsWinFormsEnv/CsWinFormsEnv.csproj index edbd9ede9..d7db44d3c 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cs-winforms-unpackaged/CsWinFormsEnv/CsWinFormsEnv.csproj +++ b/Samples/AppLifecycle/EnvironmentVariables/cs-winforms-unpackaged/CsWinFormsEnv/CsWinFormsEnv.csproj @@ -2,15 +2,15 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86 + win-x64;win-x86 None - + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj index 37772ecc5..35daf7484 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + true @@ -136,8 +136,8 @@ - - + + @@ -145,9 +145,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj index 011ec9f34..0c65b0c20 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -233,8 +233,8 @@ - - + + @@ -242,9 +242,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancingPkg/CppWinMainInstancingPkg.wapproj b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancingPkg/CppWinMainInstancingPkg.wapproj index 981757f9e..ba0ac8ef8 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancingPkg/CppWinMainInstancingPkg.wapproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancingPkg/CppWinMainInstancingPkg.wapproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj index bec1ec0ec..582b92973 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -234,8 +234,8 @@ - - + + @@ -243,9 +243,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing (Package)/CppWinUiDesktopInstancing (Package).wapproj b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing (Package)/CppWinUiDesktopInstancing (Package).wapproj index b69b55459..d24f40226 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing (Package)/CppWinUiDesktopInstancing (Package).wapproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing (Package)/CppWinUiDesktopInstancing (Package).wapproj @@ -63,10 +63,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj index d8685c0e6..2976accb0 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj @@ -4,8 +4,8 @@ ..\..\packages - - + + @@ -146,8 +146,8 @@ - - + + @@ -156,9 +156,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cs/cs-console-unpackaged/CsConsoleInstancing/CsConsoleInstancing.csproj b/Samples/AppLifecycle/Instancing/cs/cs-console-unpackaged/CsConsoleInstancing/CsConsoleInstancing.csproj index f285c88fa..0ec2f8dbb 100644 --- a/Samples/AppLifecycle/Instancing/cs/cs-console-unpackaged/CsConsoleInstancing/CsConsoleInstancing.csproj +++ b/Samples/AppLifecycle/Instancing/cs/cs-console-unpackaged/CsConsoleInstancing/CsConsoleInstancing.csproj @@ -2,14 +2,14 @@ Exe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 H.ico - + diff --git a/Samples/AppLifecycle/Instancing/cs/cs-winforms-unpackaged/CsWinFormsInstancing/CsWinFormsInstancing.csproj b/Samples/AppLifecycle/Instancing/cs/cs-winforms-unpackaged/CsWinFormsInstancing/CsWinFormsInstancing.csproj index b8a714e04..a1fb311dc 100644 --- a/Samples/AppLifecycle/Instancing/cs/cs-winforms-unpackaged/CsWinFormsInstancing/CsWinFormsInstancing.csproj +++ b/Samples/AppLifecycle/Instancing/cs/cs-winforms-unpackaged/CsWinFormsInstancing/CsWinFormsInstancing.csproj @@ -2,15 +2,15 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 J.ico - + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cs/cs-wpf-unpackaged/CsWpfInstancing/CsWpfInstancing.csproj b/Samples/AppLifecycle/Instancing/cs/cs-wpf-unpackaged/CsWpfInstancing/CsWpfInstancing.csproj index 91f4fa6d0..fecdd10d0 100644 --- a/Samples/AppLifecycle/Instancing/cs/cs-wpf-unpackaged/CsWpfInstancing/CsWpfInstancing.csproj +++ b/Samples/AppLifecycle/Instancing/cs/cs-wpf-unpackaged/CsWpfInstancing/CsWpfInstancing.csproj @@ -2,10 +2,10 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 CsWpfInstancing.Program K.ico @@ -15,7 +15,7 @@ - + diff --git a/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancing/CsWpfInstancing.csproj b/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancing/CsWpfInstancing.csproj index e7965fe13..6fd3880b4 100644 --- a/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancing/CsWpfInstancing.csproj +++ b/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancing/CsWpfInstancing.csproj @@ -2,10 +2,10 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64;win-x86;win-x64;win-arm64 + win-x64;win-x86;win-arm64;win-x86;win-x64;win-arm64 CsWpfInstancing.Program @@ -14,7 +14,7 @@ - + diff --git a/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancingPkg/CsWpfInstancingPkg.wapproj b/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancingPkg/CsWpfInstancingPkg.wapproj index 989b8f0ee..3089a2730 100644 --- a/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancingPkg/CsWpfInstancingPkg.wapproj +++ b/Samples/AppLifecycle/Instancing/cs1/cs-wpf-packaged/CsWpfInstancingPkg/CsWpfInstancingPkg.wapproj @@ -45,7 +45,7 @@ c24a1b1d-cbce-4433-b08a-4a9311f127ba 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWpfInstancing\CsWpfInstancing.csproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing (Package)/CsWinUiDesktopInstancing (Package).wapproj b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing (Package)/CsWinUiDesktopInstancing (Package).wapproj index aac0701e7..2fcf00aae 100644 --- a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing (Package)/CsWinUiDesktopInstancing (Package).wapproj +++ b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing (Package)/CsWinUiDesktopInstancing (Package).wapproj @@ -38,7 +38,7 @@ 00c39744-8a06-4f19-8387-08d5d2f51efe 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWinUiDesktopInstancing\CsWinUiDesktopInstancing.csproj @@ -64,10 +64,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing.csproj b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing.csproj index edbabf4b8..3f09f2a84 100644 --- a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing.csproj +++ b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing.csproj @@ -1,12 +1,12 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsWinUiDesktopInstancing app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true @@ -29,8 +29,8 @@ - - + + diff --git a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/Instancing/cs2/cs-winui-packaged/CsWinUiDesktopInstancing/CsWinUiDesktopInstancing/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj index 9f570cd75..4f51fc553 100644 --- a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj +++ b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj @@ -4,8 +4,8 @@ packages - - + + @@ -213,8 +213,8 @@ - - + + @@ -223,9 +223,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config +++ b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml index a132e44c6..dd2c455eb 100644 --- a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/cs-winui-packaged.csproj b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/cs-winui-packaged.csproj index e6b152b2c..d03fc4c51 100644 --- a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/cs-winui-packaged.csproj +++ b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/cs-winui-packaged.csproj @@ -1,12 +1,12 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 cs_winui_packaged app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 win10-$(Platform).pubxml true true @@ -23,8 +23,8 @@ - - + + diff --git a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj index 4af08b59f..fa522b252 100644 --- a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj +++ b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj @@ -4,9 +4,9 @@ packages - + - + true true @@ -213,21 +213,21 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config +++ b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/cs-winui-packaged.csproj b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/cs-winui-packaged.csproj index 2c20dda9d..5e5564d94 100644 --- a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/cs-winui-packaged.csproj +++ b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/cs-winui-packaged.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 cs_winui_packaged app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -16,8 +16,8 @@ - - + + diff --git a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-arm64.pubxml index a7fdd16b6..d544e386e 100644 --- a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem ARM64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp.csproj b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp.csproj index 71c35e3c2..332fa0c50 100644 --- a/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp.csproj +++ b/Samples/AppLifecycle/ShareTarget/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp/WinUI-CS-ShareTargetSampleApp.csproj @@ -1,12 +1,12 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.19041.0 WinUI_CS_ShareTargetSampleApp app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 win10-$(Platform).pubxml true true @@ -26,8 +26,8 @@ - - + + diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj index dc2b46ab6..471d73fd2 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj @@ -4,9 +4,9 @@ ..\packages - + - + true true @@ -129,19 +129,19 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj index a890f9dd7..cf0873484 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj @@ -4,9 +4,9 @@ ..\packages - + - + Debug @@ -245,19 +245,19 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainStatePkg/CppWinMainStatePkg.wapproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainStatePkg/CppWinMainStatePkg.wapproj index 4bccbdf31..99ed19740 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainStatePkg/CppWinMainStatePkg.wapproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainStatePkg/CppWinMainStatePkg.wapproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj index a890f9dd7..cf0873484 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj @@ -4,9 +4,9 @@ ..\packages - + - + Debug @@ -245,19 +245,19 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState (Package)/CppWinUiDesktopState (Package).wapproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState (Package)/CppWinUiDesktopState (Package).wapproj index 0047b19c5..733923a24 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState (Package)/CppWinUiDesktopState (Package).wapproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState (Package)/CppWinUiDesktopState (Package).wapproj @@ -63,10 +63,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj index 9cf663236..6ca1fd975 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj @@ -4,9 +4,9 @@ ..\..\packages - + - + true @@ -144,19 +144,19 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cs/cs-console-unpackaged/CsConsoleState/CsConsoleState.csproj b/Samples/AppLifecycle/StateNotifications/cs/cs-console-unpackaged/CsConsoleState/CsConsoleState.csproj index c6adea26a..d9aef8ce3 100644 --- a/Samples/AppLifecycle/StateNotifications/cs/cs-console-unpackaged/CsConsoleState/CsConsoleState.csproj +++ b/Samples/AppLifecycle/StateNotifications/cs/cs-console-unpackaged/CsConsoleState/CsConsoleState.csproj @@ -2,13 +2,13 @@ Exe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 - + diff --git a/Samples/AppLifecycle/StateNotifications/cs/cs-winforms-unpackaged/CsWinFormsState/CsWinFormsState.csproj b/Samples/AppLifecycle/StateNotifications/cs/cs-winforms-unpackaged/CsWinFormsState/CsWinFormsState.csproj index 903ebc338..4c1d4fa07 100644 --- a/Samples/AppLifecycle/StateNotifications/cs/cs-winforms-unpackaged/CsWinFormsState/CsWinFormsState.csproj +++ b/Samples/AppLifecycle/StateNotifications/cs/cs-winforms-unpackaged/CsWinFormsState/CsWinFormsState.csproj @@ -2,14 +2,14 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 - + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cs/cs-wpf-unpackaged/CsWpfState/CsWpfState.csproj b/Samples/AppLifecycle/StateNotifications/cs/cs-wpf-unpackaged/CsWpfState/CsWpfState.csproj index 8248f8746..6c15ddd69 100644 --- a/Samples/AppLifecycle/StateNotifications/cs/cs-wpf-unpackaged/CsWpfState/CsWpfState.csproj +++ b/Samples/AppLifecycle/StateNotifications/cs/cs-wpf-unpackaged/CsWpfState/CsWpfState.csproj @@ -2,15 +2,15 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64 + win-x64;win-x86;win-arm64 CsWpfState.Program - + diff --git a/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfState/CsWpfState.csproj b/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfState/CsWpfState.csproj index cb6ef3f8d..0f7c9fdb9 100644 --- a/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfState/CsWpfState.csproj +++ b/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfState/CsWpfState.csproj @@ -2,15 +2,15 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 true x64;x86;ARM64 - win10-x64;win10-x86;win10-arm64;win-x86;win-x64;win-arm64 + win-x64;win-x86;win-arm64;win-x86;win-x64;win-arm64 CsWpfState.Program - + diff --git a/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfStatePkg/CsWpfStatePkg.wapproj b/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfStatePkg/CsWpfStatePkg.wapproj index b819ee222..a5e0d001c 100644 --- a/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfStatePkg/CsWpfStatePkg.wapproj +++ b/Samples/AppLifecycle/StateNotifications/cs1/cs-wpf-packaged/CsWpfStatePkg/CsWpfStatePkg.wapproj @@ -45,7 +45,7 @@ dafd5cde-ac02-4985-9dfb-4dfaea79614b 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWpfState\CsWpfState.csproj @@ -65,8 +65,8 @@ - - + + diff --git a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState (Package)/CsWinUiDesktopState (Package).wapproj b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState (Package)/CsWinUiDesktopState (Package).wapproj index 0487ef345..f4ce4ce43 100644 --- a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState (Package)/CsWinUiDesktopState (Package).wapproj +++ b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState (Package)/CsWinUiDesktopState (Package).wapproj @@ -38,7 +38,7 @@ 96f90be4-707b-4bc3-af95-905ea75904e9 10.0.19041.0 10.0.19041.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\CsWinUiDesktopState\CsWinUiDesktopState.csproj @@ -64,10 +64,10 @@ - + build - + build diff --git a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/CsWinUiDesktopState.csproj b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/CsWinUiDesktopState.csproj index 79badaac8..b4ac26566 100644 --- a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/CsWinUiDesktopState.csproj +++ b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/CsWinUiDesktopState.csproj @@ -1,18 +1,18 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsWinUiDesktopState app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true - - + + diff --git a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x86.pubxml b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/AppLifecycle/StateNotifications/cs2/cs-winui-packaged/CsWinUiDesktopState/CsWinUiDesktopState/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj index 46b11d4c1..825ebec46 100644 --- a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj +++ b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj @@ -4,8 +4,8 @@ packages - - + + true @@ -222,8 +222,8 @@ - - + + @@ -233,9 +233,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config index de39b325a..544b025a9 100644 --- a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config +++ b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config @@ -3,6 +3,6 @@ - - + + \ No newline at end of file diff --git a/Samples/CustomControls/CppApp/CppApp.vcxproj b/Samples/CustomControls/CppApp/CppApp.vcxproj index 174a089db..cd95795c1 100644 --- a/Samples/CustomControls/CppApp/CppApp.vcxproj +++ b/Samples/CustomControls/CppApp/CppApp.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -213,8 +213,8 @@ - - + + @@ -222,9 +222,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppApp/packages.config b/Samples/CustomControls/CppApp/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/CustomControls/CppApp/packages.config +++ b/Samples/CustomControls/CppApp/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj b/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj index 0d1690c6a..eff12317a 100644 --- a/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj +++ b/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + true @@ -209,8 +209,8 @@ - - + + @@ -218,9 +218,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppAppUnpackaged/packages.config b/Samples/CustomControls/CppAppUnpackaged/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/CustomControls/CppAppUnpackaged/packages.config +++ b/Samples/CustomControls/CppAppUnpackaged/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/CustomControls/CsApp/CsApp.csproj b/Samples/CustomControls/CsApp/CsApp.csproj index e5a020e2f..a958d97bd 100644 --- a/Samples/CustomControls/CsApp/CsApp.csproj +++ b/Samples/CustomControls/CsApp/CsApp.csproj @@ -1,20 +1,20 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsApp app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml - - + + diff --git a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-arm64.pubxml index 1b97076db..ba79318df 100644 --- a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x64.pubxml b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x64.pubxml index dc2559a87..f74f9b7a8 100644 --- a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x86.pubxml b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x86.pubxml index 07dcf4a72..a681af87e 100644 --- a/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/CustomControls/CsApp/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/CustomControls/WinUIComponentCs/WinUIComponentCs.csproj b/Samples/CustomControls/WinUIComponentCs/WinUIComponentCs.csproj index 3e1d1ba51..4d4c4d0ab 100644 --- a/Samples/CustomControls/WinUIComponentCs/WinUIComponentCs.csproj +++ b/Samples/CustomControls/WinUIComponentCs/WinUIComponentCs.csproj @@ -1,9 +1,9 @@  - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 WinUIComponentCs - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true x64;x86;ARM64 @@ -11,8 +11,8 @@ - - + + diff --git a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj index 4fcc280dd..9fb46d9eb 100644 --- a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj +++ b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj @@ -4,8 +4,8 @@ packages - - + + @@ -203,8 +203,8 @@ - - + + @@ -212,9 +212,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/DeploymentManager/cpp-winui/packages.config b/Samples/DeploymentManager/cpp-winui/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/DeploymentManager/cpp-winui/packages.config +++ b/Samples/DeploymentManager/cpp-winui/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/DeploymentManager/cs-winui/DeploymentManagerSample.csproj b/Samples/DeploymentManager/cs-winui/DeploymentManagerSample.csproj index 0a4bab691..58aa41207 100644 --- a/Samples/DeploymentManager/cs-winui/DeploymentManagerSample.csproj +++ b/Samples/DeploymentManager/cs-winui/DeploymentManagerSample.csproj @@ -1,21 +1,21 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 DeploymentManagerSample app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml - + - + diff --git a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x86.pubxml b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Input/cs-winui/Input.csproj b/Samples/Input/cs-winui/Input.csproj index f7ac3960a..64eca5d40 100644 --- a/Samples/Input/cs-winui/Input.csproj +++ b/Samples/Input/cs-winui/Input.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 Input app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -19,8 +19,8 @@ - - + + diff --git a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x86.pubxml b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Insights/cpp-win32/InsightsSample.vcxproj b/Samples/Insights/cpp-win32/InsightsSample.vcxproj index be6cd1315..d8c368963 100644 --- a/Samples/Insights/cpp-win32/InsightsSample.vcxproj +++ b/Samples/Insights/cpp-win32/InsightsSample.vcxproj @@ -4,7 +4,7 @@ packages - + @@ -228,8 +228,8 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + \ No newline at end of file diff --git a/Samples/Insights/cpp-win32/packages.config b/Samples/Insights/cpp-win32/packages.config index acc979346..241805d0c 100644 --- a/Samples/Insights/cpp-win32/packages.config +++ b/Samples/Insights/cpp-win32/packages.config @@ -1,6 +1,6 @@ - - - - - + + + + + \ No newline at end of file diff --git a/Samples/Islands/SampleWinUIClassLibrary/SampleWinUIClassLibrary.csproj b/Samples/Islands/SampleWinUIClassLibrary/SampleWinUIClassLibrary.csproj index 9146b31c0..fc6b8a7f9 100644 --- a/Samples/Islands/SampleWinUIClassLibrary/SampleWinUIClassLibrary.csproj +++ b/Samples/Islands/SampleWinUIClassLibrary/SampleWinUIClassLibrary.csproj @@ -11,7 +11,7 @@ - + diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj index 7f1e92f1a..47c096b35 100644 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj +++ b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj @@ -1,7 +1,7 @@ - + @@ -276,8 +276,8 @@ - - + + @@ -286,9 +286,9 @@ - - - + + + diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config index 9ecd17a8a..70abba936 100644 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config +++ b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config @@ -1,7 +1,7 @@  - + - + \ No newline at end of file diff --git a/Samples/Islands/cs-winforms-unpackaged/WinFormsWithIslandApp.csproj b/Samples/Islands/cs-winforms-unpackaged/WinFormsWithIslandApp.csproj index f1c90d2e6..d1a3e39c5 100644 --- a/Samples/Islands/cs-winforms-unpackaged/WinFormsWithIslandApp.csproj +++ b/Samples/Islands/cs-winforms-unpackaged/WinFormsWithIslandApp.csproj @@ -27,7 +27,7 @@ - + diff --git a/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj b/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj index 29d53c8d3..a60022a22 100644 --- a/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj +++ b/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -149,7 +149,7 @@ true WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -167,7 +167,7 @@ true WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -185,7 +185,7 @@ true _DEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -203,7 +203,7 @@ true NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -221,7 +221,7 @@ true _DEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -239,7 +239,7 @@ true NDEBUG;_WINDOWS;%(PreprocessorDefinitions) true - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true Use pch.h @@ -255,9 +255,9 @@ - - - + + + @@ -266,11 +266,11 @@ - - - - - + + + + + ..\packages - - + + @@ -148,7 +148,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -166,7 +166,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -184,7 +184,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -218,7 +218,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -236,7 +236,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -249,8 +249,8 @@ - - + + @@ -258,10 +258,10 @@ - - - - + + + + ..\packages - - + + true @@ -226,8 +226,8 @@ - - + + @@ -236,9 +236,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config +++ b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications.csproj b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications.csproj index c64fd48e1..bf75e5a9d 100644 --- a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications.csproj +++ b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsUnpackagedAppNotifications app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -20,8 +20,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x86.pubxml b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj b/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj index 0475ab741..e54304f67 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj +++ b/Samples/Notifications/Push/cpp-console-packaged/cpp-console-package/cpp-console-package.wapproj @@ -69,8 +69,8 @@ - - + + diff --git a/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj b/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj index 3723d3f75..5001164d8 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj +++ b/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj @@ -4,8 +4,8 @@ packages - - + + @@ -212,8 +212,8 @@ - - + + @@ -222,9 +222,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-packaged/packages.config b/Samples/Notifications/Push/cpp-console-packaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/packages.config +++ b/Samples/Notifications/Push/cpp-console-packaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj b/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj index 05244e502..054cf3d13 100644 --- a/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj +++ b/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj @@ -4,8 +4,8 @@ packages - - + + @@ -213,8 +213,8 @@ - - + + @@ -223,9 +223,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-unpackaged/packages.config b/Samples/Notifications/Push/cpp-console-unpackaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/Notifications/Push/cpp-console-unpackaged/packages.config +++ b/Samples/Notifications/Push/cpp-console-unpackaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj b/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj index 0396da2ab..a6e1c34e6 100644 --- a/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj +++ b/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj @@ -5,8 +5,8 @@ ..\packages - - + + true @@ -173,8 +173,8 @@ - - + + @@ -183,10 +183,10 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + diff --git a/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config b/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config index de39b325a..544b025a9 100644 --- a/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config +++ b/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config @@ -3,6 +3,6 @@ - - + + \ No newline at end of file diff --git a/Samples/PhotoEditor/cs-winui/PhotoEditor.csproj b/Samples/PhotoEditor/cs-winui/PhotoEditor.csproj index 5b3dfda4d..74ed5d5a5 100644 --- a/Samples/PhotoEditor/cs-winui/PhotoEditor.csproj +++ b/Samples/PhotoEditor/cs-winui/PhotoEditor.csproj @@ -1,12 +1,12 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 PhotoEditor app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 win10-$(Platform).pubxml true true @@ -24,8 +24,8 @@ - - + + diff --git a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml index a132e44c6..dd2c455eb 100644 --- a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x86.pubxml b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/PhotoEditor/cs-winui/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj index dfbe53899..b70965286 100644 --- a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj +++ b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj @@ -4,8 +4,8 @@ packages - - + + @@ -218,8 +218,8 @@ - - + + @@ -228,9 +228,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config +++ b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp (Package)/winui_desktop_packaged_app_cpp (Package).wapproj b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp (Package)/winui_desktop_packaged_app_cpp (Package).wapproj index 222f44f66..e9f921b68 100644 --- a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp (Package)/winui_desktop_packaged_app_cpp (Package).wapproj +++ b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp (Package)/winui_desktop_packaged_app_cpp (Package).wapproj @@ -69,8 +69,8 @@ - - + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config index 60c091591..30bb89610 100644 --- a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config +++ b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj index b1d50ca89..7282e0c16 100644 --- a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj +++ b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -150,8 +150,8 @@ - - + + @@ -160,9 +160,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj index fef4f7a96..e8b7da0b1 100644 --- a/Samples/ResourceManagement/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj +++ b/Samples/ResourceManagement/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj @@ -2,17 +2,17 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 true None x86;x64;ARM64 - win10-x86;win10-x64 + win-x86;win-x64 - - + + diff --git a/Samples/ResourceManagement/cs/cs-winui/ClassLibrary/ClassLibrary.csproj b/Samples/ResourceManagement/cs/cs-winui/ClassLibrary/ClassLibrary.csproj index c04471de5..a2c22b65f 100644 --- a/Samples/ResourceManagement/cs/cs-winui/ClassLibrary/ClassLibrary.csproj +++ b/Samples/ResourceManagement/cs/cs-winui/ClassLibrary/ClassLibrary.csproj @@ -1,17 +1,17 @@  - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 ClassLibrary x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 - - + + diff --git a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app (Package)/winui_desktop_packaged_app (Package).wapproj b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app (Package)/winui_desktop_packaged_app (Package).wapproj index 38b8d2d3b..e6dadf162 100644 --- a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app (Package)/winui_desktop_packaged_app (Package).wapproj +++ b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app (Package)/winui_desktop_packaged_app (Package).wapproj @@ -38,7 +38,7 @@ 28b258ca-5ecc-41ee-a5b0-c2f24f3a4984 10.0.19041.0 10.0.17763.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false @@ -63,8 +63,8 @@ - - + + ..\winui_desktop_packaged_app\winui_desktop_packaged_app.csproj diff --git a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x64.pubxml b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x86.pubxml b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/winui_desktop_packaged_app.csproj b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/winui_desktop_packaged_app.csproj index b70f60bea..b9419c21b 100644 --- a/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/winui_desktop_packaged_app.csproj +++ b/Samples/ResourceManagement/cs/cs-winui/winui_desktop_packaged_app/winui_desktop_packaged_app.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 winui_desktop_packaged_app app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 @@ -21,8 +21,8 @@ - - + + diff --git a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj index 977909ec7..9a40780f0 100644 --- a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj +++ b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj @@ -37,7 +37,7 @@ 6cb98632-6091-412f-ab5d-d6f7000073a6 10.0.19041.0 10.0.17763.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US False @@ -64,8 +64,8 @@ ..\wpf_packaged_app\wpf_packaged_app.csproj - - + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj index a184d1d21..c04dfb49c 100644 --- a/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj +++ b/Samples/ResourceManagement/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 x86;x64;ARM64 win-x86;win-x64;win-arm64 @@ -10,8 +10,8 @@ - - + + diff --git a/Samples/SceneGraph/Demos/DepthDemo/DepthDemoApp/DepthDemoApp.csproj b/Samples/SceneGraph/Demos/DepthDemo/DepthDemoApp/DepthDemoApp.csproj index afbcb0e75..eb3104b85 100644 --- a/Samples/SceneGraph/Demos/DepthDemo/DepthDemoApp/DepthDemoApp.csproj +++ b/Samples/SceneGraph/Demos/DepthDemo/DepthDemoApp/DepthDemoApp.csproj @@ -15,7 +15,7 @@ - + diff --git a/Samples/SceneGraph/Demos/MaterialCreator/MaterialCreatorApp/MaterialCreatorApp.csproj b/Samples/SceneGraph/Demos/MaterialCreator/MaterialCreatorApp/MaterialCreatorApp.csproj index 01e12b415..0e604c949 100644 --- a/Samples/SceneGraph/Demos/MaterialCreator/MaterialCreatorApp/MaterialCreatorApp.csproj +++ b/Samples/SceneGraph/Demos/MaterialCreator/MaterialCreatorApp/MaterialCreatorApp.csproj @@ -21,7 +21,7 @@ - + diff --git a/Samples/SceneGraph/ExpressionBuilder/ExpressionBuilder/ExpressionBuilder.csproj b/Samples/SceneGraph/ExpressionBuilder/ExpressionBuilder/ExpressionBuilder.csproj index 5e8b07709..1b5307b44 100644 --- a/Samples/SceneGraph/ExpressionBuilder/ExpressionBuilder/ExpressionBuilder.csproj +++ b/Samples/SceneGraph/ExpressionBuilder/ExpressionBuilder/ExpressionBuilder.csproj @@ -35,8 +35,8 @@ - - + + diff --git a/Samples/SceneGraph/SampleGalleryApp/SampleGalleryApp.csproj b/Samples/SceneGraph/SampleGalleryApp/SampleGalleryApp.csproj index 2f54af665..64ca1694a 100644 --- a/Samples/SceneGraph/SampleGalleryApp/SampleGalleryApp.csproj +++ b/Samples/SceneGraph/SampleGalleryApp/SampleGalleryApp.csproj @@ -215,8 +215,8 @@ - - + + diff --git a/Samples/SceneGraph/SamplesCommon/SamplesCommon/SamplesCommon.csproj b/Samples/SceneGraph/SamplesCommon/SamplesCommon/SamplesCommon.csproj index b0f16e20b..af2e37eff 100644 --- a/Samples/SceneGraph/SamplesCommon/SamplesCommon/SamplesCommon.csproj +++ b/Samples/SceneGraph/SamplesCommon/SamplesCommon/SamplesCommon.csproj @@ -45,8 +45,8 @@ - - + + diff --git a/Samples/SecureUI/Package/Package.wapproj b/Samples/SecureUI/Package/Package.wapproj index 88a3ed8bb..b5d2f01c4 100644 --- a/Samples/SecureUI/Package/Package.wapproj +++ b/Samples/SecureUI/Package/Package.wapproj @@ -74,8 +74,8 @@ - - + + diff --git a/Samples/SecureUI/Windowing/Windowing.vcxproj b/Samples/SecureUI/Windowing/Windowing.vcxproj index 917c30e80..1ce08ea75 100644 --- a/Samples/SecureUI/Windowing/Windowing.vcxproj +++ b/Samples/SecureUI/Windowing/Windowing.vcxproj @@ -1,8 +1,8 @@ - - + + ..\packages @@ -152,7 +152,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -170,7 +170,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -188,7 +188,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -206,7 +206,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -224,7 +224,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -242,7 +242,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -254,9 +254,9 @@ - - - + + + @@ -264,11 +264,11 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - + + + + + diff --git a/Samples/SecureUI/Windowing/packages.config b/Samples/SecureUI/Windowing/packages.config index e2e68543d..cca334381 100644 --- a/Samples/SecureUI/Windowing/packages.config +++ b/Samples/SecureUI/Windowing/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj index 0dc5b0535..5515e4e03 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj @@ -4,9 +4,9 @@ packages - + - + true true @@ -138,19 +138,19 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj index c7940f5a0..40e03fcab 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj @@ -4,8 +4,8 @@ packages - - + + true @@ -199,8 +199,8 @@ - - + + @@ -208,10 +208,10 @@ - - - - + + + + diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj index 16c9172ba..e75de1f9c 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj @@ -4,8 +4,8 @@ packages - - + + true @@ -204,8 +204,8 @@ - - + + @@ -213,9 +213,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/SelfContainedDeployment.csproj b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/SelfContainedDeployment.csproj index f72bff9c5..f0d9888b2 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/SelfContainedDeployment.csproj +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/SelfContainedDeployment.csproj @@ -2,7 +2,7 @@ Exe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 enable enable @@ -16,7 +16,7 @@ - + diff --git a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/SelfContainedDeployment.csproj b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/SelfContainedDeployment.csproj index fe22f78b4..b2f133853 100644 --- a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/SelfContainedDeployment.csproj +++ b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/SelfContainedDeployment.csproj @@ -2,10 +2,10 @@ WinExe - net6.0-windows10.0.17763.0 + net8.0-windows10.0.17763.0 10.0.17763.0 enable - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true x64;x86;ARM64 Properties\PublishProfiles\win10-$(Platform).pubxml @@ -18,7 +18,7 @@ - + diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj index 0e85b8e25..7188e7bb8 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment (Package)/SelfContainedDeployment (Package).wapproj @@ -38,7 +38,7 @@ a8f28d10-4c02-4a5a-80f1-8938c03b5c4f 10.0.26100.0 10.0.17763.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\SelfContainedDeployment\SelfContainedDeployment.csproj @@ -65,8 +65,8 @@ - - + + build diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-arm64.pubxml index a132e44c6..dd2c455eb 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x86.pubxml b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/SelfContainedDeployment.csproj b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/SelfContainedDeployment.csproj index 452478c6d..12a4851a2 100644 --- a/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/SelfContainedDeployment.csproj +++ b/Samples/SelfContainedDeployment/cs1/cs-winui-packaged-wap/SelfContainedDeployment/SelfContainedDeployment.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 SelfContainedDeployment app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true @@ -26,8 +26,8 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/SelfContainedDeployment.csproj b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/SelfContainedDeployment.csproj index 7f27c3410..31ba47f68 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/SelfContainedDeployment.csproj +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/SelfContainedDeployment.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 SelfContainedDeployment app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -14,8 +14,8 @@ - - + + diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml index 93f661786..51ac0b31b 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index 26ea7e55c..ca40a9e6a 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x86.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/SelfContainedDeployment.csproj b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/SelfContainedDeployment.csproj index 7970099bb..8ddcd7f32 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/SelfContainedDeployment.csproj +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/SelfContainedDeployment.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 SelfContainedDeployment app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -15,8 +15,8 @@ - - + + diff --git a/Samples/TextRendering/cpp-win32/DWriteCoreGallery (packaging)/DWriteCoreGallery (packaging).wapproj b/Samples/TextRendering/cpp-win32/DWriteCoreGallery (packaging)/DWriteCoreGallery (packaging).wapproj index 018cc9f8a..94bde18ac 100644 --- a/Samples/TextRendering/cpp-win32/DWriteCoreGallery (packaging)/DWriteCoreGallery (packaging).wapproj +++ b/Samples/TextRendering/cpp-win32/DWriteCoreGallery (packaging)/DWriteCoreGallery (packaging).wapproj @@ -59,8 +59,8 @@ - - + + \ No newline at end of file diff --git a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj index 851147f35..7f7dca30b 100644 --- a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj +++ b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -281,17 +281,17 @@ - - + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + \ No newline at end of file diff --git a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config index bfdc1699b..241805d0c 100644 --- a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config +++ b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj b/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj index 4d2e245ba..d07db8de8 100644 --- a/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj +++ b/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj @@ -4,9 +4,9 @@ packages - + - + @@ -215,21 +215,21 @@ - + - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + - - + + \ No newline at end of file diff --git a/Samples/Unpackaged/cpp-console-unpackaged/packages.config b/Samples/Unpackaged/cpp-console-unpackaged/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/Unpackaged/cpp-console-unpackaged/packages.config +++ b/Samples/Unpackaged/cpp-console-unpackaged/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/Unpackaged/cs-console-unpackaged/Properties/PublishProfiles/FolderProfile.pubxml b/Samples/Unpackaged/cs-console-unpackaged/Properties/PublishProfiles/FolderProfile.pubxml index 1a5d66e05..f00e28b62 100644 --- a/Samples/Unpackaged/cs-console-unpackaged/Properties/PublishProfiles/FolderProfile.pubxml +++ b/Samples/Unpackaged/cs-console-unpackaged/Properties/PublishProfiles/FolderProfile.pubxml @@ -6,8 +6,8 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\publish\ FileSystem - net6.0-windows10.0.19041.0 - win10-x64 + net8.0-windows10.0.19041.0 + win-x64 true False False diff --git a/Samples/Unpackaged/cs-console-unpackaged/Unpackaged.csproj b/Samples/Unpackaged/cs-console-unpackaged/Unpackaged.csproj index ce6380bca..e32688761 100644 --- a/Samples/Unpackaged/cs-console-unpackaged/Unpackaged.csproj +++ b/Samples/Unpackaged/cs-console-unpackaged/Unpackaged.csproj @@ -2,9 +2,9 @@ Exe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 x64;x86;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 None @@ -13,7 +13,7 @@ - + diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj index 72f0abf0e..20777ca9d 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -141,8 +141,8 @@ - - + + @@ -151,9 +151,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config index 4a41cce0e..222d4c466 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config @@ -2,6 +2,6 @@ - - + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj index e9041dd58..aeb938eef 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderAppPackage/SampleWidgetProviderAppPackage.wapproj @@ -37,7 +37,7 @@ 7C9DBD64-9DC7-4706-8FDA-8Df2A43184FE 10.0.26100.0 10.0.17763.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US false ..\SampleWidgetProviderApp\SampleWidgetProviderApp.vcxproj @@ -64,10 +64,10 @@ - + build - + diff --git a/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj b/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj index 4e86325c4..8484402d5 100644 --- a/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj +++ b/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj @@ -1,11 +1,11 @@  Exe - net6.0-windows10.0.18362.0 + net8.0-windows10.0.18362.0 10.0.17763.0 CsConsoleWidgetProvider x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 false true @@ -23,8 +23,8 @@ - - + + ..\packages @@ -148,7 +148,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -166,7 +166,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -184,7 +184,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -202,7 +202,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -220,7 +220,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -238,7 +238,7 @@ true Use pch.h - $(GeneratedFilesDir) + %(AdditionalIncludeDirectories);$(GeneratedFilesDir) true @@ -250,9 +250,9 @@ - - - + + + @@ -260,11 +260,11 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - + + + + + diff --git a/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config b/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config index e2e68543d..cca334381 100644 --- a/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config +++ b/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config @@ -1,8 +1,8 @@  - + - - + + \ No newline at end of file diff --git a/Samples/Windowing/cpp/cpp-winui/SampleApp (Package)/SampleApp (Package).wapproj b/Samples/Windowing/cpp/cpp-winui/SampleApp (Package)/SampleApp (Package).wapproj index 757a95b81..58ec531ff 100644 --- a/Samples/Windowing/cpp/cpp-winui/SampleApp (Package)/SampleApp (Package).wapproj +++ b/Samples/Windowing/cpp/cpp-winui/SampleApp (Package)/SampleApp (Package).wapproj @@ -65,8 +65,8 @@ - - + + \ No newline at end of file diff --git a/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj b/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj index 5f26667f6..f768d90aa 100644 --- a/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj +++ b/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj @@ -4,8 +4,8 @@ ..\packages - - + + @@ -195,8 +195,8 @@ - - + + @@ -204,9 +204,9 @@ - - - - + + + + \ No newline at end of file diff --git a/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config b/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config index 62b9d9508..9b732a991 100644 --- a/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config +++ b/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file diff --git a/Samples/Windowing/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj b/Samples/Windowing/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj index b6be8fd26..84c51e015 100644 --- a/Samples/Windowing/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj +++ b/Samples/Windowing/cs/cs-winforms-unpackaged/winforms_unpackaged_app.csproj @@ -2,17 +2,17 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 true x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 None - - + + \ No newline at end of file diff --git a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x86.pubxml b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/Windowing/cs/cs-winui/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs/cs-winui/Windowing.csproj b/Samples/Windowing/cs/cs-winui/Windowing.csproj index 1038859f4..48843f9db 100644 --- a/Samples/Windowing/cs/cs-winui/Windowing.csproj +++ b/Samples/Windowing/cs/cs-winui/Windowing.csproj @@ -1,12 +1,12 @@  WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 Windowing app.manifest x86;x64;ARM64 - win10-x86;win10-x64;win10-arm64 + win-x86;win-x64;win-arm64 true true Properties\PublishProfiles\win10-$(Platform).pubxml @@ -16,8 +16,8 @@ - - + + diff --git a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj index 39c411a73..a6ae9fbea 100644 --- a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj +++ b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app (Package)/wpf_packaged_app (Package).wapproj @@ -29,7 +29,7 @@ 6cb98632-6091-412f-ab5d-d6f7000073a6 10.0.19041.0 10.0.17763.0 - net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) + net8.0-windows$(TargetPlatformVersion);$(AssetTargetFallback) en-US False @@ -53,8 +53,8 @@ - - + + ..\wpf_packaged_app\wpf_packaged_app.csproj diff --git a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml index 8dd0b28c0..08b5300d8 100644 --- a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-arm64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem arm64 - win10-arm64 + win-arm64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml index 78bdd7d0f..dcdbaed60 100644 --- a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 - win10-x64 + win-x64 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml index 9ea100b91..cf7e029c0 100644 --- a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml +++ b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj index f58e6f11b..d7ad9216e 100644 --- a/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj +++ b/Samples/Windowing/cs1/cs-wpf/wpf_packaged_app/wpf_packaged_app.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows10.0.19041.0 + net8.0-windows10.0.19041.0 10.0.17763.0 x86;x64;ARM64 win-x86;win-x64;win-arm64 @@ -10,8 +10,8 @@ - - + + diff --git a/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x64.pubxml b/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x64.pubxml index 8e1e9b82e..878537e1b 100644 --- a/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x64.pubxml +++ b/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x64.pubxml @@ -7,7 +7,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x64 win-x64 - bin\\\win10-x64\publish\ + bin\\\win-x64\publish\ false false False diff --git a/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x86.pubxml b/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x86.pubxml index 34d14d4d4..be62e6b72 100644 --- a/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x86.pubxml +++ b/Samples/WindowsAIFoundry/cs-winui/Properties/PublishProfiles/win-x86.pubxml @@ -6,7 +6,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. FileSystem x86 - win10-x86 + win-x86 bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False diff --git a/Samples/WindowsAIFoundry/cs-winui/WindowsAISample.csproj b/Samples/WindowsAIFoundry/cs-winui/WindowsAISample.csproj index 9c593499f..757a31e33 100644 --- a/Samples/WindowsAIFoundry/cs-winui/WindowsAISample.csproj +++ b/Samples/WindowsAIFoundry/cs-winui/WindowsAISample.csproj @@ -53,8 +53,8 @@ - - + + From 2a75531ced690ba068e68ee7d5adfba40bc8b809 Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Wed, 26 Aug 2026 10:31:27 -0400 Subject: [PATCH 3/7] Remove experimental samples from main Keep experimental and preview sample implementations on the dedicated release/experimental branch so main contains only stable Windows App SDK surfaces. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26f0def2-a93d-4d41-a610-c6c6fa760d7e --- README.md | 5 +- .../cpp-winui/BackgroundTaskBuilder/App.xaml | 18 - .../BackgroundTaskBuilder/App.xaml.cpp | 55 -- .../BackgroundTaskBuilder/App.xaml.h | 22 - .../Assets/LockScreenLogo.scale-200.png | Bin 432 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 5372 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 1755 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 637 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 283 -> 0 bytes .../Assets/StoreLogo.png | Bin 456 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 2097 -> 0 bytes .../BackgroundTaskBuilder/BackgroundTask.cpp | 55 -- .../BackgroundTaskBuilder/BackgroundTask.h | 45 -- .../BackgroundTaskBuilder.vcxproj | 202 ------ .../BackgroundTaskBuilder.vcxproj.filters | 66 -- .../BackgroundTaskBuilder/MainWindow.idl | 12 - .../BackgroundTaskBuilder/MainWindow.xaml | 17 - .../BackgroundTaskBuilder/MainWindow.xaml.cpp | 88 --- .../BackgroundTaskBuilder/MainWindow.xaml.h | 28 - .../Package.appxmanifest | 67 -- .../cpp-winui/BackgroundTaskBuilder/README.md | 34 - .../BackgroundTaskBuilder/RegisterForCOM.cpp | 37 -- .../BackgroundTaskBuilder/RegisterForCOM.h | 18 - .../BackgroundTaskBuilder/app.manifest | 19 - .../BackgroundTaskBuilder/packages.config | 8 - .../cpp-winui/BackgroundTaskBuilder/pch.cpp | 4 - .../cpp-winui/BackgroundTaskBuilder/pch.h | 34 - .../cpp-winui/BackgroundTask_WinAppSDK.sln | 40 -- .../cs-winui/BackgroundTaskBuilder.sln | 40 -- .../cs-winui/BackgroundTaskBuilder/App.xaml | 18 - .../BackgroundTaskBuilder/App.xaml.cs | 62 -- .../Assets/LockScreenLogo.scale-200.png | Bin 432 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 5372 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 1755 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 637 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 283 -> 0 bytes .../Assets/StoreLogo.png | Bin 456 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 2097 -> 0 bytes .../BackgroundTaskBuilder/BackgroundTask.cs | 76 --- .../BackgroundTaskBuilder.csproj | 63 -- .../BackgroundTaskBuilder/ComServer.cs | 72 --- .../BackgroundTaskBuilder/MainWindow.xaml | 17 - .../BackgroundTaskBuilder/MainWindow.xaml.cs | 82 --- .../Package.appxmanifest | 75 --- .../PublishProfiles/win-arm64.pubxml | 15 - .../Properties/PublishProfiles/win-x64.pubxml | 15 - .../Properties/PublishProfiles/win-x86.pubxml | 15 - .../Properties/launchSettings.json | 12 - .../BackgroundTaskBuilder/app.manifest | 19 - .../cpp-winui/BackgroundTaskBuilder/App.xaml | 18 - .../BackgroundTaskBuilder/App.xaml.cpp | 72 --- .../BackgroundTaskBuilder/App.xaml.h | 19 - .../Assets/LockScreenLogo.scale-200.png | Bin 432 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 5372 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 1755 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 637 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 283 -> 0 bytes .../Assets/StoreLogo.png | Bin 456 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 2097 -> 0 bytes .../BackgroundTaskBuilder/BackgroundTask.cpp | 73 --- .../BackgroundTaskBuilder/BackgroundTask.h | 41 -- .../BackgroundTaskBuilder.vcxproj | 199 ------ .../BackgroundTaskBuilder.vcxproj.filters | 66 -- .../BackgroundTaskBuilder/MainWindow.idl | 12 - .../BackgroundTaskBuilder/MainWindow.xaml | 17 - .../BackgroundTaskBuilder/MainWindow.xaml.cpp | 74 --- .../BackgroundTaskBuilder/MainWindow.xaml.h | 31 - .../Package.appxmanifest | 69 -- .../cpp-winui/BackgroundTaskBuilder/README.md | 34 - .../BackgroundTaskBuilder/RegisterForCOM.cpp | 51 -- .../BackgroundTaskBuilder/RegisterForCOM.h | 21 - .../BackgroundTaskBuilder/app.manifest | 19 - .../BackgroundTaskBuilder/packages.config | 8 - .../cpp-winui/BackgroundTaskBuilder/pch.cpp | 4 - .../cpp-winui/BackgroundTaskBuilder/pch.h | 32 - .../cpp-winui/BackgroundTask_WinAppSDK.sln | 40 -- .../cs-winui/BackgroundTaskBuilder.sln | 40 -- .../cs-winui/BackgroundTaskBuilder/App.xaml | 18 - .../BackgroundTaskBuilder/App.xaml.cs | 47 -- .../Assets/LockScreenLogo.scale-200.png | Bin 432 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 5372 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 1755 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 637 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 283 -> 0 bytes .../Assets/StoreLogo.png | Bin 456 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 2097 -> 0 bytes .../BackgroundTaskBuilder/BackgroundTask.cs | 85 --- .../BackgroundTaskBuilder.csproj | 64 -- .../BackgroundTaskBuilder/ComServer.cs | 69 -- .../BackgroundTaskBuilder/MainWindow.xaml | 17 - .../BackgroundTaskBuilder/MainWindow.xaml.cs | 68 -- .../Package.appxmanifest | 77 --- .../cs-winui/BackgroundTaskBuilder/Program.cs | 45 -- .../PublishProfiles/win-arm64.pubxml | 15 - .../Properties/PublishProfiles/win-x64.pubxml | 15 - .../Properties/PublishProfiles/win-x86.pubxml | 15 - .../Properties/launchSettings.json | 12 - .../BackgroundTaskBuilder/app.manifest | 19 - Samples/Islands/README.md | 84 +-- .../cpp-win32-unpackaged/App.idl | 5 - .../cpp-win32-unpackaged/App.xaml | 18 - .../cpp-win32-unpackaged/App.xaml.cpp | 16 - .../cpp-win32-unpackaged/App.xaml.h | 22 - .../cpp-win32-unpackaged/Assets/cliff.jpg | Bin 162111 -> 0 bytes .../cpp-win32-unpackaged/Assets/grapes.jpg | Bin 125029 -> 0 bytes .../cpp-win32-unpackaged/Assets/rainier.jpg | Bin 736388 -> 0 bytes .../cpp-win32-unpackaged/Assets/sunset.jpg | Bin 96309 -> 0 bytes .../cpp-win32-unpackaged/Assets/valley.jpg | Bin 154556 -> 0 bytes .../cpp-win32-unpackaged/MainPage.cpp | 26 - .../cpp-win32-unpackaged/MainPage.h | 29 - .../cpp-win32-unpackaged/MainPage.idl | 11 - .../cpp-win32-unpackaged/MainPage.xaml | 30 - .../cpp-win32-unpackaged/Resource.h | 32 - .../cpp-win32-unpackaged/SimpleIslandApp.cpp | 357 ----------- .../cpp-win32-unpackaged/SimpleIslandApp.h | 5 - .../cpp-win32-unpackaged/SimpleIslandApp.ico | Bin 46227 -> 0 bytes .../cpp-win32-unpackaged/SimpleIslandApp.rc | Bin 7142 -> 0 bytes .../cpp-win32-unpackaged/SimpleIslandApp.sln | 37 -- .../SimpleIslandApp.vcxproj | 295 --------- .../SimpleIslandApp.vcxproj.filters | 79 --- .../cpp-win32-unpackaged/packages.config | 7 - .../cpp-win32-unpackaged/pch.cpp | 3 - .../cpp-win32-unpackaged/pch.h | 28 - .../cpp-win32-unpackaged/small.ico | Bin 46227 -> 0 bytes .../cpp-win32-unpackaged/targetver.h | 9 - .../Assets/LockScreenLogo.scale-200.png | Bin 432 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 5372 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 1755 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 637 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 283 -> 0 bytes .../Assets/StoreLogo.png | Bin 456 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 2097 -> 0 bytes .../UXFrameworksOnIslands/AutomationBase.cpp | 42 -- .../UXFrameworksOnIslands/AutomationBase.h | 102 --- .../AutomationCallbackHandler.h | 108 ---- .../AutomationCallbackRevoker.h | 58 -- .../AutomationElement.cpp | 115 ---- .../UXFrameworksOnIslands/AutomationElement.h | 47 -- .../AutomationFragment.cpp | 356 ----------- .../AutomationFragment.h | 77 --- .../AutomationFragmentRoot.cpp | 56 -- .../AutomationFragmentRoot.h | 26 - .../UXFrameworksOnIslands/AutomationPeer.cpp | 199 ------ .../UXFrameworksOnIslands/AutomationPeer.h | 71 --- .../UXFrameworksOnIslands/AutomationTree.cpp | 223 ------- .../UXFrameworksOnIslands/AutomationTree.h | 84 --- .../UXFrameworksOnIslands/CheckBox.cpp | 97 --- .../Islands/UXFrameworksOnIslands/CheckBox.h | 76 --- .../UXFrameworksOnIslands/ColorUtils.h | 67 -- .../CompositionDeviceResource.cpp | 53 -- .../CompositionDeviceResource.h | 34 - .../UXFrameworksOnIslands/D2DSprite.cpp | 365 ----------- .../Islands/UXFrameworksOnIslands/D2DSprite.h | 116 ---- .../UXFrameworksOnIslands/DXDevice.cpp | 78 --- .../Islands/UXFrameworksOnIslands/DXDevice.h | 34 - .../UXFrameworksOnIslands/EventRevokers.h | 55 -- .../UXFrameworksOnIslands/FocusList.cpp | 80 --- .../Islands/UXFrameworksOnIslands/FocusList.h | 83 --- .../UXFrameworksOnIslands/FocusManager.cpp | 310 --------- .../UXFrameworksOnIslands/FocusManager.h | 82 --- .../UXFrameworksOnIslands/FrameDocker.cpp | 110 ---- .../UXFrameworksOnIslands/FrameDocker.h | 124 ---- .../UXFrameworksOnIslands/HitTestContext.cpp | 113 ---- .../UXFrameworksOnIslands/HitTestContext.h | 44 -- .../UXFrameworksOnIslands/IFocusHost.h | 12 - .../Islands/UXFrameworksOnIslands/IFrame.h | 35 - .../UXFrameworksOnIslands/IFrameHost.h | 18 - .../UXFrameworksOnIslands/LiftedFrame.cpp | 117 ---- .../UXFrameworksOnIslands/LiftedFrame.h | 84 --- .../Islands/UXFrameworksOnIslands/Matrix2x2.h | 88 --- .../UXFrameworksOnIslands/NetUIFrame.cpp | 185 ------ .../UXFrameworksOnIslands/NetUIFrame.h | 56 -- .../Islands/UXFrameworksOnIslands/Output.cpp | 79 --- .../Islands/UXFrameworksOnIslands/Output.h | 49 -- .../UXFrameworksOnIslands/OutputResource.cpp | 77 --- .../UXFrameworksOnIslands/OutputResource.h | 86 --- .../Package.appxmanifest | 51 -- .../UXFrameworksOnIslands/PopupFrame.cpp | 161 ----- .../UXFrameworksOnIslands/PopupFrame.h | 57 -- .../PreTranslateHandler.cpp | 49 -- .../PreTranslateHandler.h | 30 - .../ReactNativeFrame.cpp | 428 ------------- .../UXFrameworksOnIslands/ReactNativeFrame.h | 97 --- .../UXFrameworksOnIslands/RootFrame.cpp | 598 ------------------ .../Islands/UXFrameworksOnIslands/RootFrame.h | 121 ---- .../SettingCollection.cpp | 48 -- .../UXFrameworksOnIslands/SettingCollection.h | 53 -- .../UXFrameworksOnIslands/SystemFrame.cpp | 84 --- .../UXFrameworksOnIslands/SystemFrame.h | 76 --- .../UXFrameworksOnIslands/TemplateHelpers.h | 30 - .../UXFrameworksOnIslands/TextRenderer.cpp | 173 ----- .../UXFrameworksOnIslands/TextRenderer.h | 94 --- .../UXFrameworksOnIslands/TextVisual.cpp | 104 --- .../UXFrameworksOnIslands/TextVisual.h | 88 --- .../UXFrameworksOnIslands/TopLevelWindow.cpp | 313 --------- .../UXFrameworksOnIslands/TopLevelWindow.h | 115 ---- .../UXFrameworksOnIslands.sln | 40 -- .../UXFrameworksOnIslands.vcxproj | 240 ------- .../UXFrameworksOnIslands.vcxproj.filters | 121 ---- .../UXFrameworksOnIslands/VisualTreeNode.cpp | 471 -------------- .../UXFrameworksOnIslands/VisualTreeNode.h | 90 --- .../UXFrameworksOnIslands/VisualUtils.cpp | 62 -- .../UXFrameworksOnIslands/VisualUtils.h | 43 -- .../UXFrameworksOnIslands/WebViewFrame.cpp | 121 ---- .../UXFrameworksOnIslands/WebViewFrame.h | 42 -- .../UXFrameworksOnIslands/WinUIFrame.cpp | 172 ----- .../UXFrameworksOnIslands/WinUIFrame.h | 61 -- .../UXFrameworksOnIslands/app.manifest | 19 - .../Islands/UXFrameworksOnIslands/main.cpp | 157 ----- .../UXFrameworksOnIslands/packages.config | 8 - .../Islands/UXFrameworksOnIslands/precomp.cpp | 1 - .../Islands/UXFrameworksOnIslands/precomp.h | 86 --- SamplesCI-BackgroundTask.yml | 7 - 213 files changed, 3 insertions(+), 12933 deletions(-) delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square150x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Wide310x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square150x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Wide310x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json delete mode 100644 Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square150x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Wide310x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square150x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Wide310x150Logo.scale-200.png delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Program.cs delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json delete mode 100644 Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.idl delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.cpp delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.h delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/cliff.jpg delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/grapes.jpg delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/rainier.jpg delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/sunset.jpg delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/valley.jpg delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.cpp delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.h delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.idl delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.xaml delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Resource.h delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.cpp delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.h delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.ico delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.rc delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.sln delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj.filters delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.cpp delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.h delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/small.ico delete mode 100644 Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/targetver.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/LockScreenLogo.scale-200.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/SplashScreen.scale-200.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/Square150x150Logo.scale-200.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/Square44x44Logo.scale-200.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/StoreLogo.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Assets/Wide310x150Logo.scale-200.png delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationBase.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationBase.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationCallbackHandler.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationCallbackRevoker.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationElement.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationElement.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationFragment.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationFragment.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationPeer.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationPeer.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationTree.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/AutomationTree.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/CheckBox.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/CheckBox.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/ColorUtils.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/D2DSprite.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/D2DSprite.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/DXDevice.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/DXDevice.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/EventRevokers.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FocusList.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FocusList.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FocusManager.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FocusManager.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FrameDocker.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/FrameDocker.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/HitTestContext.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/HitTestContext.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/IFocusHost.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/IFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/IFrameHost.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/LiftedFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/LiftedFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Matrix2x2.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/NetUIFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/NetUIFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Output.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Output.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/OutputResource.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/OutputResource.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/Package.appxmanifest delete mode 100644 Samples/Islands/UXFrameworksOnIslands/PopupFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/PopupFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/RootFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/RootFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/SettingCollection.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/SettingCollection.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/SystemFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/SystemFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TemplateHelpers.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TextRenderer.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TextRenderer.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TextVisual.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TextVisual.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.sln delete mode 100644 Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj delete mode 100644 Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj.filters delete mode 100644 Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/VisualUtils.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/VisualUtils.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/WebViewFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/WebViewFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/WinUIFrame.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/WinUIFrame.h delete mode 100644 Samples/Islands/UXFrameworksOnIslands/app.manifest delete mode 100644 Samples/Islands/UXFrameworksOnIslands/main.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/packages.config delete mode 100644 Samples/Islands/UXFrameworksOnIslands/precomp.cpp delete mode 100644 Samples/Islands/UXFrameworksOnIslands/precomp.h delete mode 100644 SamplesCI-BackgroundTask.yml diff --git a/README.md b/README.md index fd46ab514..f64116197 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,6 @@ This repository hosts samples for the [Windows App SDK](https://github.com/micro - [Restart](Samples/AppLifecycle/Restart): These samples demonstrate synchronously restarting an app with command-line restart arguments. - [Share Target](Samples\AppLifecycle\ShareTarget\WinUI-CS-ShareTargetSampleApp): This sample demonstrates an app that can be activated as a share target. -#### Background Task -- [Background Task](Samples/BackgroundTask): These samples demonstrates usage of Background Task feature in WinAppSDK apps leveraging the WinAppSDK Background Task API. - #### Data and Files - [Resource Management](Samples/ResourceManagement): These samples demonstrates app resource management using the MRT Core APIs. @@ -88,7 +85,7 @@ The easiest way to use these samples without Git is to download the ZIP file. Se ## 📄 Samples versioning -The samples will be updated with GA releases of the Windows App SDK. The `main` branch includes the latest samples, which may also include experimental or preview features. Specific release branches are named `release/x.y` and contain samples that reference the corresponding GA version of the Windows App SDK. This repository currently includes the following release branches: +The samples will be updated with GA releases of the Windows App SDK. The `main` branch includes samples for stable Windows App SDK features only. Experimental and preview samples belong in the `release/experimental` branch. Specific stable release branches are named `release/x.y` and contain samples that reference the corresponding GA version of the Windows App SDK. This repository currently includes the following release branches: - [release/experimental](https://github.com/microsoft/WindowsAppSDK-Samples/tree/release/experimental) - [release/1.6](https://github.com/microsoft/WindowsAppSDK-Samples/tree/release/1.6-stable) diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml deleted file mode 100644 index 5b1a2224d..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp deleted file mode 100644 index 89242b00f..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "App.xaml.h" -#include "MainWindow.xaml.h" - -using namespace winrt; -using namespace Microsoft::UI::Xaml; -using namespace BackgroundTaskBuilder; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace winrt::BackgroundTaskBuilder::implementation -{ - Microsoft::UI::Xaml::Window App::window{ nullptr }; - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - App::App() - { - // Xaml objects should not call InitializeComponent during construction. - // See https://github.com/microsoft/cppwinrt/tree/master/nuget#initializecomponent - -#if defined _DEBUG && !defined DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION - UnhandledException([](IInspectable const&, UnhandledExceptionEventArgs const& e) - { - if (IsDebuggerPresent()) - { - auto errorMessage = e.Message(); - __debugbreak(); - } - }); -#endif - } - - /// - /// Invoked when the application is launched. - /// - /// Details about the launch request and process. - void App::OnLaunched([[maybe_unused]] LaunchActivatedEventArgs const& e) - { - window = make(); - window.Activate(); - // Start COM server for the COM calls to complete - comRegister.RegisterBackgroundTaskFactory(); - } - - winrt::Microsoft::UI::Xaml::Window App::Window() - { - return window; - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h deleted file mode 100644 index 9a3816ddf..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "App.xaml.g.h" -#include "RegisterForCOM.h" - -namespace winrt::BackgroundTaskBuilder::implementation -{ - struct App : AppT - { - App(); - - void OnLaunched(Microsoft::UI::Xaml::LaunchActivatedEventArgs const&); - static winrt::Microsoft::UI::Xaml::Window Window(); - - private: - static winrt::Microsoft::UI::Xaml::Window window; - RegisterForCom comRegister; - }; -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 7440f0d4bf7c7e26e4e36328738c68e624ee851e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqV6|IEGZ*x-#9g>~Mkr+x6^F zy~CDX2QIMs&Gcs3RnRBoxBA!*(Mfw0KTCYuYk0WlEIV>qBmPl! zq4ukrvfADX@#p8fbLY(H47N+k`FZ(FZh?cDro7>{8mkBO3>^oaIx`3!Jl)Qq)HI!+ z(S=1{o~eT)&W^=Ea8C`-17(Jv5(nHFJ{dOjGdxLVkY_y6&S1whfuFI4MM0kF0f&cO zPDVpV%nz;Id$>+0Ga5e9625-JcI)oq=#Pa3p^>8BB}21BUw@eN!-6@w%X+^`+Vn?! zryu|3T>kVWNBYyBc=7Y6H#s1Ah!OI_nezW zXTqOdkv2Az6KKBV=$yHdF^R3Fqw(TZEoNSZX>reXJ#bwX42%f|Pgg&ebxsLQ010xn AssI20 diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 32f486a86792a5e34cd9a8261b394c49b48f86be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5372 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 diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index f713bba67f551ef91020b75716a4dc8ebd744b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFu8cTIEGZ*dUI*J;2{SImxtDO zm%3!R$UazoY}x{$j0P5ABYXWr(l=jxJ6ps1W{tV=^>{Dl><3nv3A}sm=EZ)#l3`NR zpZda3^rNox*D1%NC98Z~L*6zipLw~Gxn&(Y-;KmJ+aR6eLabU-L#y8HW%7P-E_-VlLqIabbHPHKT*)fT@9iWJ7iWgOT9%0}Lrj>lztPxWq6sPw3pi z#-<=#$jjrP_DD*i!RLsn0mIA=>4~N)IMYWIf=j%-zuKCdMG%tHYot70D1| zvWa0wMhauW#S>1CnI_;>!1Q3zMA17@DOVq{MQ+{U7^a&yA+%dMCG;WNPV0i;w$tu; zX^b}UKziPM)(<;)ruW;-`)bBN+rQNM*Zs_>?n$|FVFo-e*PZb*@U7VAd+tHb4e?=Blc~}S6K)wL}r*Gf`BM#QB z+y>N$mCswb4d{^{S9v_!eQj4fTRMOwOCi?lSk9%<=vAz}jM-*PQtH@Odn1LZcd^j#o> hW$4xn+CT+ep9lJ{OAO?njobhL002ovPDHLkV1nYebbkN< diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png deleted file mode 100644 index a4586f26bdf7841cad10f39cdffe2aca3af252c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!p=8IEGZ*dUM0H=rDtTTVkd2 z(%lbKn@VS_lUaADVB&;Z6F#LM+mPsa?e>FnHo;HND^!P`-lX%BH~FOg%y&x+t*x!? zg$#_1A1kgsSvO(fw`bOmo;lrJX8byO1j^gf7qohR%mmt z@L)WX;>gqgK|tWJvQ5j;4;=gt4HXVKSMYRv5RhY5vS~TqfK_NAP*r{h!!g^BZ;w4r z7CGdsai)y;fJQc`7{Zc2b==h%o`Op$|bg6a&nL{*m7-=0>k4M4-PXlU;G-?%*(*g>iFt^ U$m#7DfHB12>FVdQ&MBb@0G`#n8vpc0sq%A~kJcD9FY~qQRMt?ZR3YyDZt}Od;|mgpc{2dv9AHF){kXU%k({ z=Y8JidEayHTkG@twPZ|U3_^%3ct-OgLSiFAqDN!|tbCX@c@?4P`2x*TMK!+Q4b?k0 ziW7!!KF6dPWcF<%I|iznM~`QJ_V7sHGV_D`dhgpA9Vd@&X}ErK+j~_rdv;Bp?OA@a zFXOk7eWOJe5NcK;6h$FaM&7JxNc#-@QTwzW6x#d_zmQNkz5) zPI;kh;3d;5UCJU+9a(cOxX(|edWoOiAEdGU#kPJ&xnc2||3vDbuhBCkj-pb0as$Zl z5;}4n=**n6(1g`JEtSy;SG6X;#-F~Oz3lESG2b5`j@wAwY4Yp<=4Xeb>iH=6aicF?DxD&q{`!&}ct zBI)aycwuobQAf&678Uf+Mmh-@9RUhyH~>?w0dixO0#jZjEc9R^=5NZw=|a(kcB?9^ zfnTiEFXp-q#B;Tn>(O%$A*ud^Rg&eVH6Y_5Y%!E39RR&s?XpG`gKwU!6FE1 z7X)DC7)*(5g}lh`4`{i~DZcWupZI`K)_4P)VE{@gc7@Xsd^86zl~_mOYH?I4!aGeX z^E(_=L6?PgveDQ+r%P@UISEXrkn`LHJZ##+!-anV>6h)IkKp;E@p8+3&(5%kS2)ld*J*rJccZM0iyaAx7+F~GW1UWFK&3X$PE1^}NH zgAG9ck5K!{07OwU@j@Do>TbH=CDEo#4m0cEyAuXy_<&jlzJVcKweSJ5 z&=q~iIn18$w8yb=rmEmHxVEUA^?RwnB?6Qlp1os8@*dWTGL2bhzZ!s*xqScR?EPL` zo(JwNdKUUYy7GtvZ3asXm)cgFvCx9EmAi;|w=a0iGiv%%VYKh`P0Wma4y`Xyx|T~( zAmfGbgbEEC7)j8b@WA@+5W3a61HJXC1dX@6_T|Czk0I0zBk%tnW~()VWITGI!`$c< gARL?UBrYYkwoDw4eo*CrzXGTrZ@;GF>596)00d&n@&Et; diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp deleted file mode 100644 index d66c3d753..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "BackgroundTask.h" -#include "RegisterForCOM.h" -#include "winrt/Windows.Data.Xml.Dom.h" -#include "winrt/Windows.UI.Notifications.h" -#include "App.xaml.h" - -using namespace winrt; -namespace winrt -{ - using namespace winrt::Windows::ApplicationModel::Background; - using namespace Windows::Data::Xml::Dom; - using namespace Windows::UI::Notifications; -} - -namespace winrt::BackgroundTaskBuilder -{ - void BackgroundTask::Run(_In_ IBackgroundTaskInstance taskInstance) - { - // Get deferral to indicate not to kill the background task process as soon as the Run method returns - m_deferral = taskInstance.GetDeferral(); - m_progress = 0; - taskInstance.Canceled({ this, &BackgroundTask::OnCanceled }); - - // Calling a method on the Window to inform that the background task is executed - winrt::Microsoft::UI::Xaml::Window window = winrt::BackgroundTaskBuilder::implementation::App::Window(); - m_mainWindow = window.as(); - - Windows::Foundation::TimeSpan period{ std::chrono::seconds{2} }; - m_periodicTimer = Windows::System::Threading::ThreadPoolTimer::CreatePeriodicTimer([this, lifetime = get_strong()](Windows::System::Threading::ThreadPoolTimer timer) - { - if (!m_cancelRequested && m_progress < 100) - { - m_progress += 10; - } - else - { - m_periodicTimer.Cancel(); - - // Indicate that the background task has completed. - m_deferral.Complete(); - if (m_cancelRequested) m_progress = -1; - } - m_mainWindow.BackgroundTaskExecuted(m_progress); - }, period); - } - - void BackgroundTask::OnCanceled(_In_ IBackgroundTaskInstance /* taskInstance */, _In_ BackgroundTaskCancellationReason /* cancelReason */) - { - m_cancelRequested = true; - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h deleted file mode 100644 index 301f63d8f..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "pch.h" -#include "MainWindow.g.h" - -#define CLSID_BackgroundTask "12345678-1234-1234-1234-1234567890CD" -namespace winrt::BackgroundTaskBuilder -{ - struct __declspec(uuid(CLSID_BackgroundTask)) - BackgroundTask : implements - { - void Run(_In_ winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance taskInstance); - private: - void OnCanceled(_In_ winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance /* taskInstance */, _In_ winrt::Windows::ApplicationModel::Background::BackgroundTaskCancellationReason /* cancelReason */); - volatile bool m_cancelRequested = false; - winrt::Windows::ApplicationModel::Background::BackgroundTaskDeferral m_deferral = nullptr; - Windows::System::Threading::ThreadPoolTimer m_periodicTimer = nullptr; - winrt::BackgroundTaskBuilder::IMainWindow m_mainWindow = nullptr; - int m_progress{ 0 }; - }; - - struct BackgroundTaskFactory : implements - { - HRESULT __stdcall CreateInstance(_In_opt_ IUnknown* aggregateInterface, _In_ REFIID interfaceId, _Outptr_ VOID** object) noexcept final try - { - if (aggregateInterface != NULL) { - return CLASS_E_NOAGGREGATION; - } - - return make().as(interfaceId, object); - } - CATCH_RETURN(); - - HRESULT __stdcall LockServer(BOOL lock) noexcept final try - { - UNREFERENCED_PARAMETER(lock); - return S_OK; - } - CATCH_RETURN(); - }; -} - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj deleted file mode 100644 index 029ca7192..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - - - true - true - true - {ba183610-8118-492a-88f8-6d7a2bb22b42} - BackgroundTaskBuilder - BackgroundTaskBuilder - - $(RootNamespace) - en-US - 16.0 - false - true - Windows Store - 10.0 - 10.0 - 10.0.18362.0 - true - true - - true - - - - - Debug - Win32 - - - Debug - x64 - - - Debug - ARM64 - - - Release - Win32 - - - Release - x64 - - - Release - ARM64 - - - - Application - v143 - Unicode - true - - - true - true - - - false - true - false - - - - - - - - - - - Use - pch.h - $(IntDir)pch.pch - Level4 - %(AdditionalOptions) /bigobj - - - - - _DEBUG;%(PreprocessorDefinitions) - - - - - NDEBUG;%(PreprocessorDefinitions) - - - true - true - - - - - Designer - - - - - - - - - - App.xaml - - - MainWindow.xaml - - - - - - - - - - - Create - - - App.xaml - - - MainWindow.xaml - - - - - - - Code - MainWindow.xaml - - - - - false - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters deleted file mode 100644 index 19d0328eb..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - - - {ba183610-8118-492a-88f8-6d7a2bb22b42} - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl deleted file mode 100644 index 7ba2a4f4d..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -namespace BackgroundTaskBuilder -{ - [default_interface] - runtimeclass MainWindow : Microsoft.UI.Xaml.Window - { - MainWindow(); - void BackgroundTaskExecuted(Int32 progress); - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml deleted file mode 100644 index 06fcca1f1..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp deleted file mode 100644 index 1db75362f..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "MainWindow.xaml.h" -#if __has_include("MainWindow.g.cpp") -#include "MainWindow.g.cpp" -#endif -#include "BackgroundTask.h" - -using namespace winrt; -using namespace Microsoft::UI::Xaml; -using namespace Windows::Data::Xml::Dom; -using namespace Windows::UI::Notifications; -using namespace Windows::ApplicationModel::Background; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace winrt::BackgroundTaskBuilder::implementation -{ - MainWindow::MainWindow() - { - dispatcherQueue = Microsoft::UI::Dispatching::DispatcherQueue::GetForCurrentThread(); - } - - winrt::fire_and_forget MainWindow::BackgroundTaskExecuted(int progress) - { - co_await wil::resume_foreground(dispatcherQueue); - if (progress < 100) - registerButton().Content(box_value(L"Background Task Execution Progress = " + winrt::to_hstring(progress))); - else if (progress == 100) - registerButton().Content(box_value(L"Background Task Executed Successfully!")); - else - registerButton().Content(box_value(L"Background Task was cancelled!")); - } - - void MainWindow::unregisterTasks() - { - // Clear up all existing background task registrations - auto allRegistrations = BackgroundTaskRegistration::AllTasks(); - for (const auto& taskPair : allRegistrations) - { - IBackgroundTaskRegistration task = taskPair.Value(); - task.Unregister(true); - } - } - - void MainWindow::createNotification() - { - // Create the toast XML template - XmlDocument toastXml; - toastXml.LoadXml(LR"( - - - - Notification: BackgroundTaskBuilder - Change system timezone to trigger Background Task - - - )"); - - // Create the toast notification - ToastNotification toast(toastXml); - - // Create a ToastNotifier and show the toast - ToastNotificationManager::CreateToastNotifier().Show(toast); - } - - void MainWindow::registerButton_Click(IInspectable const&, RoutedEventArgs const&) - { - unregisterTasks(); - createNotification(); - - //Register Background Task to be executed on TimeZoneChange - winrt::Microsoft::Windows::ApplicationModel::Background::BackgroundTaskBuilder builder; - - SystemTrigger trigger = SystemTrigger(SystemTriggerType::TimeZoneChange, false); - auto backgroundTrigger = trigger.as(); - builder.SetTrigger(backgroundTrigger); - builder.SetTaskEntryPointClsid(__uuidof(winrt::BackgroundTaskBuilder::BackgroundTask)); - builder.Register(); - - //Update Button UI - registerButton().Content(box_value(L"Background Task Registered")); - registerButton().IsEnabled(false); - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h deleted file mode 100644 index 66ef3e7d1..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "MainWindow.g.h" - -namespace winrt::BackgroundTaskBuilder::implementation -{ - struct MainWindow : MainWindowT - { - MainWindow(); - Microsoft::UI::Dispatching::DispatcherQueue dispatcherQueue = nullptr; - - winrt::fire_and_forget BackgroundTaskExecuted(int progress); - - void registerButton_Click(IInspectable const& sender, Microsoft::UI::Xaml::RoutedEventArgs const& args); - void unregisterTasks(); - void createNotification(); - }; -} - -namespace winrt::BackgroundTaskBuilder::factory_implementation -{ - struct MainWindow : MainWindowT - { - }; -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest deleted file mode 100644 index d86e6d881..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - BackgroundTaskBuilder - Microsoft - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md deleted file mode 100644 index 1465327de..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -page_type: sample -languages: -- cpp -products: -- windows -- windows-api-win32 -- windows-app-sdk -name: BackgroundTaskBuilder sample -urlFragment: BackgroundTaskBuilder -description: Demonstrates how to use register background task using WinAppSDK BackgroundTaskBuilder API. -extendedZipContent: -- path: LICENSE -- target: LICENSE ---- - -# WinMainCOMBGTaskSample sample - -This sample application demonstrates how a **WinUI3** app can register Background Task using the Microsoft.Windows.ApplicationModel.Background.BackgroundTaskBuilder API. In this sample usage of TimeZoneChange trigger is demonstrated which can be easily changed to any supported triggers. On clicking the button on the UI, background task gets registered and a toast notification will get pushed, After this when the system timezone changes, background task gets triggered and push another toast notification to notify that BackgroundTask have been triggered. - -## Prerequisites - -* See [System requirements for Windows app development](https://docs.microsoft.com/windows/apps/windows-app-sdk/system-requirements). -* Make sure that your development environment is set up correctly—see [Install tools for developing apps for Windows 10 and Windows 11](https://docs.microsoft.com/windows/apps/windows-app-sdk/set-up-your-development-environment). - - -## Building and running the sample - -* Open the solution file (`.sln`) in Visual Studio. -* Press Ctrl+Shift+B, or select **Build** \> **Build Solution**. - -## Related Links - -- [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/) \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp deleted file mode 100644 index 096ae075c..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "RegisterForCOM.h" - -using namespace winrt; - -namespace winrt::BackgroundTaskBuilder -{ - RegisterForCom::~RegisterForCom() - { - if (ComRegistrationToken != 0) - { - CoRevokeClassObject(ComRegistrationToken); - } - } - - hresult RegisterForCom::RegisterBackgroundTaskFactory() - { - hresult hr; - try - { - com_ptr taskFactory = make(); - - check_hresult(CoRegisterClassObject(__uuidof(BackgroundTask), - taskFactory.detach(), - CLSCTX_LOCAL_SERVER, - REGCLS_MULTIPLEUSE, - &ComRegistrationToken)); - - OutputDebugString(L"COM Registration done"); - hr = S_OK; - } - CATCH_RETURN(); - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h deleted file mode 100644 index 205bb9143..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once -#include "pch.h" -#include "BackgroundTask.h" - -namespace winrt::BackgroundTaskBuilder -{ - class RegisterForCom - { - DWORD ComRegistrationToken = 0; - public: - ~RegisterForCom(); - winrt::hresult RegisterBackgroundTaskFactory(); - }; -} - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest deleted file mode 100644 index 6d901dd11..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - PerMonitorV2 - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config deleted file mode 100644 index 7d5746dc1..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp deleted file mode 100644 index 0850baca1..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h deleted file mode 100644 index e8260af17..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once -#include -#include -#include -#include - -// Undefine GetCurrentTime macro to prevent -// conflict with Storyboard::GetCurrentTime -#undef GetCurrentTime - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "winrt/Windows.Data.Xml.Dom.h" -#include "winrt/Windows.UI.Notifications.h" diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln b/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln deleted file mode 100644 index 63f456036..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35514.174 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BackgroundTaskBuilder", "BackgroundTaskBuilder\BackgroundTaskBuilder.vcxproj", "{BA183610-8118-492A-88F8-6D7A2BB22B42}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.Build.0 = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.ActiveCfg = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.Build.0 = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.Deploy.0 = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.ActiveCfg = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.Build.0 = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.Deploy.0 = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.ActiveCfg = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.Build.0 = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.Deploy.0 = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.ActiveCfg = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.Build.0 = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.Deploy.0 = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.ActiveCfg = Release|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.Build.0 = Release|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.Deploy.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln deleted file mode 100644 index f09bf495d..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35514.174 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BackgroundTaskBuilder", "BackgroundTaskBuilder\BackgroundTaskBuilder.csproj", "{18896EE2-23CF-4C44-B5D9-1A9867BB7D69}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.Build.0 = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.ActiveCfg = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.Build.0 = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.Deploy.0 = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.ActiveCfg = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.Build.0 = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.Deploy.0 = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.ActiveCfg = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.Build.0 = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.Deploy.0 = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.ActiveCfg = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.Build.0 = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.Deploy.0 = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.ActiveCfg = Release|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.Build.0 = Release|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.Deploy.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml deleted file mode 100644 index 5b1a2224d..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs deleted file mode 100644 index c95935a8c..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using BackgroundTaskBuilder; -using Microsoft.UI.Xaml; -using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.UI.Xaml.Data; -using Microsoft.UI.Xaml.Input; -using Microsoft.UI.Xaml.Media; -using Microsoft.UI.Xaml.Navigation; -using Microsoft.UI.Xaml.Shapes; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.ApplicationModel.Background; -using Windows.Foundation; -using Windows.Foundation.Collections; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace BackgroundTaskBuilder -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - public partial class App : Application - { - static private uint _RegistrationToken; - public App() - { - this.InitializeComponent(); - Guid taskGuid = typeof(BackgroundTask).GUID; - ComServer.CoRegisterClassObject(ref taskGuid, - new ComServer.BackgroundTaskFactory(), - ComServer.CLSCTX_LOCAL_SERVER, - ComServer.REGCLS_MULTIPLEUSE, - out _RegistrationToken); - } - - ~App() - { - ComServer.CoRevokeObject(out _RegistrationToken); - } - - protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args) - { - m_window = new MainWindow(); - m_window.Activate(); - } - - public static Window Window => m_window; - - private static Window? m_window; - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 7440f0d4bf7c7e26e4e36328738c68e624ee851e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqV6|IEGZ*x-#9g>~Mkr+x6^F zy~CDX2QIMs&Gcs3RnRBoxBA!*(Mfw0KTCYuYk0WlEIV>qBmPl! zq4ukrvfADX@#p8fbLY(H47N+k`FZ(FZh?cDro7>{8mkBO3>^oaIx`3!Jl)Qq)HI!+ z(S=1{o~eT)&W^=Ea8C`-17(Jv5(nHFJ{dOjGdxLVkY_y6&S1whfuFI4MM0kF0f&cO zPDVpV%nz;Id$>+0Ga5e9625-JcI)oq=#Pa3p^>8BB}21BUw@eN!-6@w%X+^`+Vn?! zryu|3T>kVWNBYyBc=7Y6H#s1Ah!OI_nezW zXTqOdkv2Az6KKBV=$yHdF^R3Fqw(TZEoNSZX>reXJ#bwX42%f|Pgg&ebxsLQ010xn AssI20 diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 32f486a86792a5e34cd9a8261b394c49b48f86be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5372 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 diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index f713bba67f551ef91020b75716a4dc8ebd744b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFu8cTIEGZ*dUI*J;2{SImxtDO zm%3!R$UazoY}x{$j0P5ABYXWr(l=jxJ6ps1W{tV=^>{Dl><3nv3A}sm=EZ)#l3`NR zpZda3^rNox*D1%NC98Z~L*6zipLw~Gxn&(Y-;KmJ+aR6eLabU-L#y8HW%7P-E_-VlLqIabbHPHKT*)fT@9iWJ7iWgOT9%0}Lrj>lztPxWq6sPw3pi z#-<=#$jjrP_DD*i!RLsn0mIA=>4~N)IMYWIf=j%-zuKCdMG%tHYot70D1| zvWa0wMhauW#S>1CnI_;>!1Q3zMA17@DOVq{MQ+{U7^a&yA+%dMCG;WNPV0i;w$tu; zX^b}UKziPM)(<;)ruW;-`)bBN+rQNM*Zs_>?n$|FVFo-e*PZb*@U7VAd+tHb4e?=Blc~}S6K)wL}r*Gf`BM#QB z+y>N$mCswb4d{^{S9v_!eQj4fTRMOwOCi?lSk9%<=vAz}jM-*PQtH@Odn1LZcd^j#o> hW$4xn+CT+ep9lJ{OAO?njobhL002ovPDHLkV1nYebbkN< diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png deleted file mode 100644 index a4586f26bdf7841cad10f39cdffe2aca3af252c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!p=8IEGZ*dUM0H=rDtTTVkd2 z(%lbKn@VS_lUaADVB&;Z6F#LM+mPsa?e>FnHo;HND^!P`-lX%BH~FOg%y&x+t*x!? zg$#_1A1kgsSvO(fw`bOmo;lrJX8byO1j^gf7qohR%mmt z@L)WX;>gqgK|tWJvQ5j;4;=gt4HXVKSMYRv5RhY5vS~TqfK_NAP*r{h!!g^BZ;w4r z7CGdsai)y;fJQc`7{Zc2b==h%o`Op$|bg6a&nL{*m7-=0>k4M4-PXlU;G-?%*(*g>iFt^ U$m#7DfHB12>FVdQ&MBb@0G`#n8vpc0sq%A~kJcD9FY~qQRMt?ZR3YyDZt}Od;|mgpc{2dv9AHF){kXU%k({ z=Y8JidEayHTkG@twPZ|U3_^%3ct-OgLSiFAqDN!|tbCX@c@?4P`2x*TMK!+Q4b?k0 ziW7!!KF6dPWcF<%I|iznM~`QJ_V7sHGV_D`dhgpA9Vd@&X}ErK+j~_rdv;Bp?OA@a zFXOk7eWOJe5NcK;6h$FaM&7JxNc#-@QTwzW6x#d_zmQNkz5) zPI;kh;3d;5UCJU+9a(cOxX(|edWoOiAEdGU#kPJ&xnc2||3vDbuhBCkj-pb0as$Zl z5;}4n=**n6(1g`JEtSy;SG6X;#-F~Oz3lESG2b5`j@wAwY4Yp<=4Xeb>iH=6aicF?DxD&q{`!&}ct zBI)aycwuobQAf&678Uf+Mmh-@9RUhyH~>?w0dixO0#jZjEc9R^=5NZw=|a(kcB?9^ zfnTiEFXp-q#B;Tn>(O%$A*ud^Rg&eVH6Y_5Y%!E39RR&s?XpG`gKwU!6FE1 z7X)DC7)*(5g}lh`4`{i~DZcWupZI`K)_4P)VE{@gc7@Xsd^86zl~_mOYH?I4!aGeX z^E(_=L6?PgveDQ+r%P@UISEXrkn`LHJZ##+!-anV>6h)IkKp;E@p8+3&(5%kS2)ld*J*rJccZM0iyaAx7+F~GW1UWFK&3X$PE1^}NH zgAG9ck5K!{07OwU@j@Do>TbH=CDEo#4m0cEyAuXy_<&jlzJVcKweSJ5 z&=q~iIn18$w8yb=rmEmHxVEUA^?RwnB?6Qlp1os8@*dWTGL2bhzZ!s*xqScR?EPL` zo(JwNdKUUYy7GtvZ3asXm)cgFvCx9EmAi;|w=a0iGiv%%VYKh`P0Wma4y`Xyx|T~( zAmfGbgbEEC7)j8b@WA@+5W3a61HJXC1dX@6_T|Czk0I0zBk%tnW~()VWITGI!`$c< gARL?UBrYYkwoDw4eo*CrzXGTrZ@;GF>596)00d&n@&Et; diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs deleted file mode 100644 index 87fec188e..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - - -using System; -using System.IO; // Path -using System.Collections.Generic; // Queue -using Windows.System.Threading; // ThreadPoolTimer -using System.Runtime.InteropServices; // Guid, RegistrationServices -using Windows.ApplicationModel.Background; // IBackgroundTask -using Windows.UI.Notifications; // ToastNotificationManager, ToastTemplateType, ToastNotification - -namespace BackgroundTaskBuilder -{ - // Background task implementation. - // {87654321-1234-1234-1234-1234567890AE} is GUID to register this task with BackgroundTaskBuilder. Generate a random GUID before implementing. - [ComVisible(true)] - [ClassInterface(ClassInterfaceType.None)] - [Guid("87654321-1234-1234-1234-1234567890AA")] - [ComSourceInterfaces(typeof(IBackgroundTask))] - public class BackgroundTask : IBackgroundTask - { - /// - /// This method is the main entry point for the background task. The system will believe this background task - /// is complete when this method returns. - /// - [MTAThread] - public void Run(IBackgroundTaskInstance taskInstance) - { - // Get deferral to indicate not to kill the background task process as soon as the Run method returns - _deferral = taskInstance.GetDeferral(); - // Wire the cancellation handler. - taskInstance.Canceled += this.OnCanceled; - - // Set the progress to indicate this task has started - taskInstance.Progress = 0; - - _periodicTimer = ThreadPoolTimer.CreatePeriodicTimer(new TimerElapsedHandler(PeriodicTimerCallback), TimeSpan.FromSeconds(1)); - } - - // Simulate the background task activity. - private void PeriodicTimerCallback(ThreadPoolTimer timer) - { - if ((_cancelRequested == false) && (_progress < 100)) - { - _progress += 10; - } - else - { - if (_cancelRequested) _progress = -1; - if (_periodicTimer != null) _periodicTimer.Cancel(); - - // Indicate that the background task has completed. - if (_deferral != null) _deferral.Complete(); - } - - BackgroundTaskBuilder.MainWindow.taskStatus(_progress); - } - - /// - /// This method is signaled when the system requests the background task be canceled. This method will signal - /// to the Run method to clean up and return. - /// - [MTAThread] - public void OnCanceled(IBackgroundTaskInstance taskInstance, BackgroundTaskCancellationReason cancellationReason) - { - // Handle cancellation operations and flag the task to end - _cancelRequested = true; - } - - private BackgroundTaskDeferral? _deferral = null; - private volatile bool _cancelRequested = false; - private ThreadPoolTimer? _periodicTimer = null; - private int _progress = 0; - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj deleted file mode 100644 index ecb8e798f..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj +++ /dev/null @@ -1,63 +0,0 @@ - - - WinExe - net8.0-windows10.0.19041.0 - 10.0.17763.0 - BackgroundTaskBuilder - app.manifest - x86;x64;ARM64 - win-x86;win-x64;win-arm64 - win-$(Platform).pubxml - true - true - enable - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - False - True - False - True - True - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs deleted file mode 100644 index c294773c0..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using System; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.Marshalling; -using Windows.ApplicationModel.Background; -using WinRT; - -namespace BackgroundTaskBuilder -{ - // COM server startup code. - static partial class ComServer - { - [LibraryImport("ole32.dll")] - public static partial int CoRegisterClassObject( - ref Guid classId, - [MarshalAs(UnmanagedType.Interface)] IClassFactory objectAsUnknown, - uint executionContext, - uint flags, - out uint registrationToken); - - [LibraryImport("ole32.dll")] - public static partial int CoRevokeObject(out uint registrationToken); - - public const uint CLSCTX_LOCAL_SERVER = 4; - public const uint REGCLS_MULTIPLEUSE = 1; - - public const uint S_OK = 0x00000000; - public const uint CLASS_E_NOAGGREGATION = 0x80040110; - public const uint E_NOINTERFACE = 0x80004002; - - public const string IID_IUnknown = "00000000-0000-0000-C000-000000000046"; - public const string IID_IClassFactory = "00000001-0000-0000-C000-000000000046"; - - [GeneratedComInterface] - [Guid(IID_IClassFactory)] - [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] - public partial interface IClassFactory - { - [PreserveSig] - uint CreateInstance(IntPtr objectAsUnknown, in Guid interfaceId, out IntPtr objectPointer); - - [PreserveSig] - uint LockServer([MarshalAs(UnmanagedType.Bool)] bool Lock); - } - - [GeneratedComClass] - internal sealed partial class BackgroundTaskFactory : IClassFactory - { - public uint CreateInstance(IntPtr objectAsUnknown, in Guid interfaceId, out IntPtr objectPointer) - { - if (objectAsUnknown != IntPtr.Zero) - { - objectPointer = IntPtr.Zero; - return CLASS_E_NOAGGREGATION; - } - - if ((interfaceId != typeof(BackgroundTask).GUID) && (interfaceId != new Guid(IID_IUnknown))) - { - objectPointer = IntPtr.Zero; - return E_NOINTERFACE; - } - - objectPointer = MarshalInterface.FromManaged(new BackgroundTask()); - return S_OK; - } - - public uint LockServer(bool lockServer) => S_OK; - } - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml deleted file mode 100644 index 3e5b38e31..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs deleted file mode 100644 index e67c5fd06..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using Microsoft.UI.Xaml; -using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.UI.Xaml.Data; -using Microsoft.UI.Xaml.Input; -using Microsoft.UI.Xaml.Media; -using Microsoft.UI.Xaml.Navigation; -using Microsoft.Windows.ApplicationModel.Background; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel.Background; -using Windows.Foundation; -using Windows.Foundation.Collections; -using WinRT; -using WinRT.Interop; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace BackgroundTaskBuilder -{ - /// - /// An empty window that can be used on its own or navigated to within a Frame. - /// - public sealed partial class MainWindow : Window - { - public MainWindow() - { - this.InitializeComponent(); - } - - public static void taskStatus(int progress) - { - BackgroundTaskBuilder.App.Window.DispatcherQueue.TryEnqueue(() => - { - BackgroundTaskBuilder.MainWindow window = (BackgroundTaskBuilder.MainWindow)BackgroundTaskBuilder.App.Window; - if (progress == 100) - window.myButton.Content = "Task Completed"; - else if (progress > 0) - window.myButton.Content = "Task in progress : " + progress; - else - window.myButton.Content = "Task is cancelled!"; - }); - } - - private void unregisterTasks() - { - var allRegistrations = BackgroundTaskRegistration.AllTasks; - foreach (var taskPair in allRegistrations) - { - IBackgroundTaskRegistration task = taskPair.Value; - task.Unregister(true); - } - } - - private void myButton_Click(object sender, RoutedEventArgs e) - { - myButton.Content = "Registered Task for TimeZone Change"; - myButton.IsEnabled = false; - unregisterTasks(); - registerTimeZoneChangedTask(); - } - - private void registerTimeZoneChangedTask() - { - var taskBuilder = new Microsoft.Windows.ApplicationModel.Background.BackgroundTaskBuilder - { - Name = "TimeZoneChangedTask" - }; - taskBuilder.SetTaskEntryPointClsid(typeof(BackgroundTask).GUID); - taskBuilder.SetTrigger(new SystemTrigger(SystemTriggerType.TimeZoneChange, false)); - BackgroundTaskRegistration task = taskBuilder.Register(); - } - } -} diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest deleted file mode 100644 index fc4733884..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - BackgroundTaskBuilder - Microsoft - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll - - - - - - - - diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml deleted file mode 100644 index 49d280c95..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - ARM64 - win-arm64 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml deleted file mode 100644 index 55e553da7..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - x64 - win-x64 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml deleted file mode 100644 index e12bd6cab..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - x86 - win-x86 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json deleted file mode 100644 index 665ee2690..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "profiles": { - "BackgroundTaskBuilder (Package)": { - "commandName": "MsixPackage", - "nativeDebugging": true - }, - "BackgroundTaskBuilder (Unpackaged)": { - "commandName": "Project", - "nativeDebugging": true - } - } -} \ No newline at end of file diff --git a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest b/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest deleted file mode 100644 index 6d901dd11..000000000 --- a/Samples/BackgroundTask/InProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - PerMonitorV2 - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml deleted file mode 100644 index 5b1a2224d..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp deleted file mode 100644 index e6c49597d..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "App.xaml.h" -#include "MainWindow.xaml.h" -#include "RegisterForCOM.h" - -using namespace winrt; -using namespace Microsoft::UI::Xaml; -using namespace BackgroundTaskBuilder; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace winrt::BackgroundTaskBuilder::implementation -{ - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - App::App() - { - // Xaml objects should not call InitializeComponent during construction. - // See https://github.com/microsoft/cppwinrt/tree/master/nuget#initializecomponent - -#if defined _DEBUG && !defined DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION - UnhandledException([](IInspectable const&, UnhandledExceptionEventArgs const& e) - { - if (IsDebuggerPresent()) - { - auto errorMessage = e.Message(); - __debugbreak(); - } - }); -#endif - } - - /// - /// Invoked when the application is launched. - /// - /// Details about the launch request and process. - void App::OnLaunched([[maybe_unused]] LaunchActivatedEventArgs const& e) - { - window = make(); - window.Activate(); - } -} - - -int WINAPI wWinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPWSTR lpCmdLine, _In_ int) -{ - if (std::wcsncmp(lpCmdLine, RegisterForCom::RegisterForComToken, sizeof(RegisterForCom::RegisterForComToken)) == 0) - { - winrt::init_apartment(winrt::apartment_type::multi_threaded); - RegisterForCom comRegister; - // Start COM server and wait for the COM calls to complete - comRegister.RegisterAndWait(__uuidof(BackgroundTask)); - OutputDebugString(L"COM Server Shutting Down"); - } - else - { - // put your fancy code somewhere here - ::winrt::Microsoft::UI::Xaml::Application::Start( - [](auto&&) - { - ::winrt::make<::winrt::BackgroundTaskBuilder::implementation::App>(); - }); - } - - return 0; -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h deleted file mode 100644 index 08d8eca8e..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/App.xaml.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "App.xaml.g.h" - -namespace winrt::BackgroundTaskBuilder::implementation -{ - struct App : AppT - { - App(); - - void OnLaunched(Microsoft::UI::Xaml::LaunchActivatedEventArgs const&); - - private: - winrt::Microsoft::UI::Xaml::Window window{ nullptr }; - }; -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 7440f0d4bf7c7e26e4e36328738c68e624ee851e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqV6|IEGZ*x-#9g>~Mkr+x6^F zy~CDX2QIMs&Gcs3RnRBoxBA!*(Mfw0KTCYuYk0WlEIV>qBmPl! zq4ukrvfADX@#p8fbLY(H47N+k`FZ(FZh?cDro7>{8mkBO3>^oaIx`3!Jl)Qq)HI!+ z(S=1{o~eT)&W^=Ea8C`-17(Jv5(nHFJ{dOjGdxLVkY_y6&S1whfuFI4MM0kF0f&cO zPDVpV%nz;Id$>+0Ga5e9625-JcI)oq=#Pa3p^>8BB}21BUw@eN!-6@w%X+^`+Vn?! zryu|3T>kVWNBYyBc=7Y6H#s1Ah!OI_nezW zXTqOdkv2Az6KKBV=$yHdF^R3Fqw(TZEoNSZX>reXJ#bwX42%f|Pgg&ebxsLQ010xn AssI20 diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 32f486a86792a5e34cd9a8261b394c49b48f86be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5372 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 diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index f713bba67f551ef91020b75716a4dc8ebd744b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFu8cTIEGZ*dUI*J;2{SImxtDO zm%3!R$UazoY}x{$j0P5ABYXWr(l=jxJ6ps1W{tV=^>{Dl><3nv3A}sm=EZ)#l3`NR zpZda3^rNox*D1%NC98Z~L*6zipLw~Gxn&(Y-;KmJ+aR6eLabU-L#y8HW%7P-E_-VlLqIabbHPHKT*)fT@9iWJ7iWgOT9%0}Lrj>lztPxWq6sPw3pi z#-<=#$jjrP_DD*i!RLsn0mIA=>4~N)IMYWIf=j%-zuKCdMG%tHYot70D1| zvWa0wMhauW#S>1CnI_;>!1Q3zMA17@DOVq{MQ+{U7^a&yA+%dMCG;WNPV0i;w$tu; zX^b}UKziPM)(<;)ruW;-`)bBN+rQNM*Zs_>?n$|FVFo-e*PZb*@U7VAd+tHb4e?=Blc~}S6K)wL}r*Gf`BM#QB z+y>N$mCswb4d{^{S9v_!eQj4fTRMOwOCi?lSk9%<=vAz}jM-*PQtH@Odn1LZcd^j#o> hW$4xn+CT+ep9lJ{OAO?njobhL002ovPDHLkV1nYebbkN< diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Assets/StoreLogo.png deleted file mode 100644 index a4586f26bdf7841cad10f39cdffe2aca3af252c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!p=8IEGZ*dUM0H=rDtTTVkd2 z(%lbKn@VS_lUaADVB&;Z6F#LM+mPsa?e>FnHo;HND^!P`-lX%BH~FOg%y&x+t*x!? zg$#_1A1kgsSvO(fw`bOmo;lrJX8byO1j^gf7qohR%mmt z@L)WX;>gqgK|tWJvQ5j;4;=gt4HXVKSMYRv5RhY5vS~TqfK_NAP*r{h!!g^BZ;w4r z7CGdsai)y;fJQc`7{Zc2b==h%o`Op$|bg6a&nL{*m7-=0>k4M4-PXlU;G-?%*(*g>iFt^ U$m#7DfHB12>FVdQ&MBb@0G`#n8vpc0sq%A~kJcD9FY~qQRMt?ZR3YyDZt}Od;|mgpc{2dv9AHF){kXU%k({ z=Y8JidEayHTkG@twPZ|U3_^%3ct-OgLSiFAqDN!|tbCX@c@?4P`2x*TMK!+Q4b?k0 ziW7!!KF6dPWcF<%I|iznM~`QJ_V7sHGV_D`dhgpA9Vd@&X}ErK+j~_rdv;Bp?OA@a zFXOk7eWOJe5NcK;6h$FaM&7JxNc#-@QTwzW6x#d_zmQNkz5) zPI;kh;3d;5UCJU+9a(cOxX(|edWoOiAEdGU#kPJ&xnc2||3vDbuhBCkj-pb0as$Zl z5;}4n=**n6(1g`JEtSy;SG6X;#-F~Oz3lESG2b5`j@wAwY4Yp<=4Xeb>iH=6aicF?DxD&q{`!&}ct zBI)aycwuobQAf&678Uf+Mmh-@9RUhyH~>?w0dixO0#jZjEc9R^=5NZw=|a(kcB?9^ zfnTiEFXp-q#B;Tn>(O%$A*ud^Rg&eVH6Y_5Y%!E39RR&s?XpG`gKwU!6FE1 z7X)DC7)*(5g}lh`4`{i~DZcWupZI`K)_4P)VE{@gc7@Xsd^86zl~_mOYH?I4!aGeX z^E(_=L6?PgveDQ+r%P@UISEXrkn`LHJZ##+!-anV>6h)IkKp;E@p8+3&(5%kS2)ld*J*rJccZM0iyaAx7+F~GW1UWFK&3X$PE1^}NH zgAG9ck5K!{07OwU@j@Do>TbH=CDEo#4m0cEyAuXy_<&jlzJVcKweSJ5 z&=q~iIn18$w8yb=rmEmHxVEUA^?RwnB?6Qlp1os8@*dWTGL2bhzZ!s*xqScR?EPL` zo(JwNdKUUYy7GtvZ3asXm)cgFvCx9EmAi;|w=a0iGiv%%VYKh`P0Wma4y`Xyx|T~( zAmfGbgbEEC7)j8b@WA@+5W3a61HJXC1dX@6_T|Czk0I0zBk%tnW~()VWITGI!`$c< gARL?UBrYYkwoDw4eo*CrzXGTrZ@;GF>596)00d&n@&Et; diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp deleted file mode 100644 index 215c2117a..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "BackgroundTask.h" -#include "RegisterForCOM.h" -#include "winrt/Windows.Data.Xml.Dom.h" -#include "winrt/Windows.UI.Notifications.h" - -using namespace winrt; -namespace winrt -{ - using namespace winrt::Windows::ApplicationModel::Background; - using namespace Windows::Data::Xml::Dom; - using namespace Windows::UI::Notifications; -} - -namespace winrt::BackgroundTaskBuilder -{ - BackgroundTask::~BackgroundTask() - { - // When the task is completed, stop the COM server - RegisterForCom::StopServer(); - } - - void BackgroundTask::Run(_In_ IBackgroundTaskInstance taskInstance) - { - // Get the deferral object from the task instance - TaskDeferral = taskInstance.GetDeferral(); - taskInstance.Canceled({ this, &BackgroundTask::OnCanceled }); - // Create a toast XML template - XmlDocument toastXml; - toastXml.LoadXml(LR"( - - - - Notification: BackgroundTaskBuilder - Background Task triggered - - - )"); - // Create the toast notification - ToastNotification toast(toastXml); - // Create a ToastNotifier and show the toast - ToastNotificationManager::CreateToastNotifier().Show(toast); - // Inform the system that the background task is completed - TaskDeferral.Complete(); - } - - void BackgroundTask::CreateNotification() - { - // Create the toast XML template - XmlDocument toastXml; - toastXml.LoadXml(LR"( - - - - Notification: BackgroundTaskBuilder - Change system timezone to trigger Background Task - - - )"); - // Create the toast notification - ToastNotification toast(toastXml); - // Create a ToastNotifier and show the toast - ToastNotificationManager::CreateToastNotifier().Show(toast); - } - - void BackgroundTask::OnCanceled(_In_ IBackgroundTaskInstance /* taskInstance */, _In_ BackgroundTaskCancellationReason /* cancelReason */) - { - IsCanceled = true; - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h deleted file mode 100644 index 4c2ed685c..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTask.h +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "pch.h" - -#define CLSID_BackgroundTask "12345678-1234-1234-1234-1234567890CD" -namespace winrt::BackgroundTaskBuilder -{ - struct __declspec(uuid(CLSID_BackgroundTask)) - BackgroundTask : implements - { - volatile bool IsCanceled = false; - winrt::Windows::ApplicationModel::Background::BackgroundTaskDeferral TaskDeferral = nullptr; - ~BackgroundTask(); - void Run(_In_ winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance taskInstance); - void CreateNotification(); - void OnCanceled(_In_ winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance /* taskInstance */, _In_ winrt::Windows::ApplicationModel::Background::BackgroundTaskCancellationReason /* cancelReason */); - - }; - - struct BackgroundTaskFactory : implements - { - HRESULT __stdcall CreateInstance(_In_opt_ IUnknown* aggregateInterface, _In_ REFIID interfaceId, _Outptr_ VOID** object) noexcept final - { - if (aggregateInterface != NULL) { - return CLASS_E_NOAGGREGATION; - } - - return make().as(interfaceId, object); - } - - HRESULT __stdcall LockServer(BOOL lock) noexcept final - { - UNREFERENCED_PARAMETER(lock); - return S_OK; - } - }; -} - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj deleted file mode 100644 index a1482f48c..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - true - true - true - {ba183610-8118-492a-88f8-6d7a2bb22b42} - BackgroundTaskBuilder - BackgroundTaskBuilder - - $(RootNamespace) - en-US - 16.0 - false - true - Windows Store - 10.0 - 10.0 - 10.0.18362.0 - true - true - - true - - - - - Debug - Win32 - - - Debug - x64 - - - Debug - ARM64 - - - Release - Win32 - - - Release - x64 - - - Release - ARM64 - - - - Application - v143 - Unicode - true - - - true - true - - - false - true - false - - - - - - - - - - - Use - pch.h - $(IntDir)pch.pch - Level4 - %(AdditionalOptions) /bigobj - - - - - _DEBUG;DISABLE_XAML_GENERATED_MAIN;%(PreprocessorDefinitions) - - - - - NDEBUG;DISABLE_XAML_GENERATED_MAIN;%(PreprocessorDefinitions) - - - true - true - - - - - Designer - - - - - - - - - - App.xaml - - - MainWindow.xaml - - - - - - - - - - - Create - - - App.xaml - - - MainWindow.xaml - - - - - - - Code - MainWindow.xaml - - - - - false - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters deleted file mode 100644 index 19d0328eb..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.vcxproj.filters +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - - - {ba183610-8118-492a-88f8-6d7a2bb22b42} - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl deleted file mode 100644 index 536df96aa..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.idl +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -namespace BackgroundTaskBuilder -{ - [default_interface] - runtimeclass MainWindow : Microsoft.UI.Xaml.Window - { - MainWindow(); - Int32 MyProperty; - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml deleted file mode 100644 index 06fcca1f1..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp deleted file mode 100644 index 766a0ad9e..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "MainWindow.xaml.h" -#if __has_include("MainWindow.g.cpp") -#include "MainWindow.g.cpp" -#endif -#include "BackgroundTask.h" - -using namespace winrt; -using namespace Microsoft::UI::Xaml; -using namespace Windows::Data::Xml::Dom; -using namespace Windows::UI::Notifications; -using namespace Windows::ApplicationModel::Background; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace winrt::BackgroundTaskBuilder::implementation -{ - int32_t MainWindow::MyProperty() - { - throw hresult_not_implemented(); - } - - void MainWindow::MyProperty(int32_t /* value */) - { - throw hresult_not_implemented(); - } - - void MainWindow::unregisterTasks() - { - auto allRegistrations = BackgroundTaskRegistration::AllTasks(); - for (auto taskPair : allRegistrations) - { - IBackgroundTaskRegistration task = taskPair.Value(); - task.Unregister(true); - } - } - - void MainWindow::registerButton_Click(IInspectable const&, RoutedEventArgs const&) - { - unregisterTasks(); - // Create the toast XML template - XmlDocument toastXml; - toastXml.LoadXml(LR"( - - - - Notification: BackgroundTaskBuilder - Change system timezone to trigger Background Task - - - )"); - - // Create the toast notification - ToastNotification toast(toastXml); - - // Create a ToastNotifier and show the toast - ToastNotificationManager::CreateToastNotifier().Show(toast); - - // Using the WinAppSDK BackgroundTaskBuilder API to register a background task - winrt::Microsoft::Windows::ApplicationModel::Background::BackgroundTaskBuilder builder; - - SystemTrigger trigger = SystemTrigger(SystemTriggerType::TimeZoneChange, false); - auto backgroundTrigger = trigger.as(); - builder.SetTrigger(backgroundTrigger); - builder.SetTaskEntryPointClsid(__uuidof(winrt::BackgroundTaskBuilder::BackgroundTask)); - builder.Register(); - registerButton().Content(box_value(L"Background Task Registered")); - registerButton().IsEnabled(false); - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h deleted file mode 100644 index b2854dc29..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/MainWindow.xaml.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once - -#include "MainWindow.g.h" - -namespace winrt::BackgroundTaskBuilder::implementation -{ - struct MainWindow : MainWindowT - { - MainWindow() - { - // Xaml objects should not call InitializeComponent during construction. - // See https://github.com/microsoft/cppwinrt/tree/master/nuget#initializecomponent - } - - int32_t MyProperty(); - void MyProperty(int32_t value); - - void registerButton_Click(IInspectable const& sender, Microsoft::UI::Xaml::RoutedEventArgs const& args); - void unregisterTasks(); - }; -} - -namespace winrt::BackgroundTaskBuilder::factory_implementation -{ - struct MainWindow : MainWindowT - { - }; -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest deleted file mode 100644 index b4837c521..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/Package.appxmanifest +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - BackgroundTaskBuilder - Microsoft - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md deleted file mode 100644 index 1465327de..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/README.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -page_type: sample -languages: -- cpp -products: -- windows -- windows-api-win32 -- windows-app-sdk -name: BackgroundTaskBuilder sample -urlFragment: BackgroundTaskBuilder -description: Demonstrates how to use register background task using WinAppSDK BackgroundTaskBuilder API. -extendedZipContent: -- path: LICENSE -- target: LICENSE ---- - -# WinMainCOMBGTaskSample sample - -This sample application demonstrates how a **WinUI3** app can register Background Task using the Microsoft.Windows.ApplicationModel.Background.BackgroundTaskBuilder API. In this sample usage of TimeZoneChange trigger is demonstrated which can be easily changed to any supported triggers. On clicking the button on the UI, background task gets registered and a toast notification will get pushed, After this when the system timezone changes, background task gets triggered and push another toast notification to notify that BackgroundTask have been triggered. - -## Prerequisites - -* See [System requirements for Windows app development](https://docs.microsoft.com/windows/apps/windows-app-sdk/system-requirements). -* Make sure that your development environment is set up correctly—see [Install tools for developing apps for Windows 10 and Windows 11](https://docs.microsoft.com/windows/apps/windows-app-sdk/set-up-your-development-environment). - - -## Building and running the sample - -* Open the solution file (`.sln`) in Visual Studio. -* Press Ctrl+Shift+B, or select **Build** \> **Build Solution**. - -## Related Links - -- [Windows App SDK](https://docs.microsoft.com/windows/apps/windows-app-sdk/) \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp deleted file mode 100644 index e304dd14e..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.cpp +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" -#include "RegisterForCOM.h" - -using namespace winrt; - -namespace winrt::BackgroundTaskBuilder -{ - RegisterForCom::~RegisterForCom() - { - if (ComRegistrationToken != 0) - { - CoRevokeClassObject(ComRegistrationToken); - } - } - - hresult RegisterForCom::RegisterAndWait(guid classId) - { - hresult hr; - _comServerCompletionEvent.attach(CreateEvent(nullptr, true, false, nullptr)); - try - { - check_bool(bool{ _comServerCompletionEvent }); - com_ptr taskFactory = make(); - - check_hresult(CoRegisterClassObject(classId, - taskFactory.detach(), - CLSCTX_LOCAL_SERVER, - REGCLS_MULTIPLEUSE, - &ComRegistrationToken)); - - OutputDebugString(L"COM Registraton done"); - // Wait for the COM calls to complete - check_hresult(WaitForSingleObject(_comServerCompletionEvent.get(), INFINITE)); - hr = S_OK; - } - catch (...) - { - hr = to_hresult(); - } - - return hr; - } - - void RegisterForCom::StopServer() - { - SetEvent(_comServerCompletionEvent.get()); - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h deleted file mode 100644 index 83576422c..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/RegisterForCOM.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once -#include "pch.h" -#include "BackgroundTask.h" - -namespace winrt::BackgroundTaskBuilder -{ - static handle _comServerCompletionEvent; - class RegisterForCom - { - DWORD ComRegistrationToken = 0; - public: - ~RegisterForCom(); - winrt::hresult RegisterAndWait(winrt::guid classId); - static void StopServer(); - static constexpr wchar_t* RegisterForComToken = L"-RegisterForBGTaskServer"; - }; -} - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest deleted file mode 100644 index 6d901dd11..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/app.manifest +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - PerMonitorV2 - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config deleted file mode 100644 index a20d1c530..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp deleted file mode 100644 index 0850baca1..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#include "pch.h" diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h deleted file mode 100644 index 604a94fe8..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTaskBuilder/pch.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -#pragma once -#include -#include -#include -#include - -// Undefine GetCurrentTime macro to prevent -// conflict with Storyboard::GetCurrentTime -#undef GetCurrentTime - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "winrt/Windows.Data.Xml.Dom.h" -#include "winrt/Windows.UI.Notifications.h" diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln b/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln deleted file mode 100644 index 63f456036..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cpp-winui/BackgroundTask_WinAppSDK.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35514.174 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BackgroundTaskBuilder", "BackgroundTaskBuilder\BackgroundTaskBuilder.vcxproj", "{BA183610-8118-492A-88F8-6D7A2BB22B42}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.Build.0 = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.ActiveCfg = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.Build.0 = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x64.Deploy.0 = Debug|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.ActiveCfg = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.Build.0 = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Debug|x86.Deploy.0 = Debug|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.ActiveCfg = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.Build.0 = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|ARM64.Deploy.0 = Release|ARM64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.ActiveCfg = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.Build.0 = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x64.Deploy.0 = Release|x64 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.ActiveCfg = Release|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.Build.0 = Release|Win32 - {BA183610-8118-492A-88F8-6D7A2BB22B42}.Release|x86.Deploy.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln deleted file mode 100644 index f09bf495d..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35514.174 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BackgroundTaskBuilder", "BackgroundTaskBuilder\BackgroundTaskBuilder.csproj", "{18896EE2-23CF-4C44-B5D9-1A9867BB7D69}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.Build.0 = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.ActiveCfg = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.Build.0 = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x64.Deploy.0 = Debug|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.ActiveCfg = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.Build.0 = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Debug|x86.Deploy.0 = Debug|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.ActiveCfg = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.Build.0 = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|ARM64.Deploy.0 = Release|ARM64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.ActiveCfg = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.Build.0 = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x64.Deploy.0 = Release|x64 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.ActiveCfg = Release|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.Build.0 = Release|x86 - {18896EE2-23CF-4C44-B5D9-1A9867BB7D69}.Release|x86.Deploy.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml deleted file mode 100644 index 5b1a2224d..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs deleted file mode 100644 index 4769bb67c..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/App.xaml.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using BackgroundTaskBuilder; -using Microsoft.UI.Xaml; -using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.UI.Xaml.Data; -using Microsoft.UI.Xaml.Input; -using Microsoft.UI.Xaml.Media; -using Microsoft.UI.Xaml.Navigation; -using Microsoft.UI.Xaml.Shapes; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.Foundation; -using Windows.Foundation.Collections; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace BackgroundTaskBuilder -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - public partial class App : Application - { - public App() - { - this.InitializeComponent(); - } - - protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args) - { - m_window = new MainWindow(); - m_window.Activate(); - } - - private Window? m_window; - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 7440f0d4bf7c7e26e4e36328738c68e624ee851e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqV6|IEGZ*x-#9g>~Mkr+x6^F zy~CDX2QIMs&Gcs3RnRBoxBA!*(Mfw0KTCYuYk0WlEIV>qBmPl! zq4ukrvfADX@#p8fbLY(H47N+k`FZ(FZh?cDro7>{8mkBO3>^oaIx`3!Jl)Qq)HI!+ z(S=1{o~eT)&W^=Ea8C`-17(Jv5(nHFJ{dOjGdxLVkY_y6&S1whfuFI4MM0kF0f&cO zPDVpV%nz;Id$>+0Ga5e9625-JcI)oq=#Pa3p^>8BB}21BUw@eN!-6@w%X+^`+Vn?! zryu|3T>kVWNBYyBc=7Y6H#s1Ah!OI_nezW zXTqOdkv2Az6KKBV=$yHdF^R3Fqw(TZEoNSZX>reXJ#bwX42%f|Pgg&ebxsLQ010xn AssI20 diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 32f486a86792a5e34cd9a8261b394c49b48f86be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5372 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 diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index f713bba67f551ef91020b75716a4dc8ebd744b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFu8cTIEGZ*dUI*J;2{SImxtDO zm%3!R$UazoY}x{$j0P5ABYXWr(l=jxJ6ps1W{tV=^>{Dl><3nv3A}sm=EZ)#l3`NR zpZda3^rNox*D1%NC98Z~L*6zipLw~Gxn&(Y-;KmJ+aR6eLabU-L#y8HW%7P-E_-VlLqIabbHPHKT*)fT@9iWJ7iWgOT9%0}Lrj>lztPxWq6sPw3pi z#-<=#$jjrP_DD*i!RLsn0mIA=>4~N)IMYWIf=j%-zuKCdMG%tHYot70D1| zvWa0wMhauW#S>1CnI_;>!1Q3zMA17@DOVq{MQ+{U7^a&yA+%dMCG;WNPV0i;w$tu; zX^b}UKziPM)(<;)ruW;-`)bBN+rQNM*Zs_>?n$|FVFo-e*PZb*@U7VAd+tHb4e?=Blc~}S6K)wL}r*Gf`BM#QB z+y>N$mCswb4d{^{S9v_!eQj4fTRMOwOCi?lSk9%<=vAz}jM-*PQtH@Odn1LZcd^j#o> hW$4xn+CT+ep9lJ{OAO?njobhL002ovPDHLkV1nYebbkN< diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Assets/StoreLogo.png deleted file mode 100644 index a4586f26bdf7841cad10f39cdffe2aca3af252c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!p=8IEGZ*dUM0H=rDtTTVkd2 z(%lbKn@VS_lUaADVB&;Z6F#LM+mPsa?e>FnHo;HND^!P`-lX%BH~FOg%y&x+t*x!? zg$#_1A1kgsSvO(fw`bOmo;lrJX8byO1j^gf7qohR%mmt z@L)WX;>gqgK|tWJvQ5j;4;=gt4HXVKSMYRv5RhY5vS~TqfK_NAP*r{h!!g^BZ;w4r z7CGdsai)y;fJQc`7{Zc2b==h%o`Op$|bg6a&nL{*m7-=0>k4M4-PXlU;G-?%*(*g>iFt^ U$m#7DfHB12>FVdQ&MBb@0G`#n8vpc0sq%A~kJcD9FY~qQRMt?ZR3YyDZt}Od;|mgpc{2dv9AHF){kXU%k({ z=Y8JidEayHTkG@twPZ|U3_^%3ct-OgLSiFAqDN!|tbCX@c@?4P`2x*TMK!+Q4b?k0 ziW7!!KF6dPWcF<%I|iznM~`QJ_V7sHGV_D`dhgpA9Vd@&X}ErK+j~_rdv;Bp?OA@a zFXOk7eWOJe5NcK;6h$FaM&7JxNc#-@QTwzW6x#d_zmQNkz5) zPI;kh;3d;5UCJU+9a(cOxX(|edWoOiAEdGU#kPJ&xnc2||3vDbuhBCkj-pb0as$Zl z5;}4n=**n6(1g`JEtSy;SG6X;#-F~Oz3lESG2b5`j@wAwY4Yp<=4Xeb>iH=6aicF?DxD&q{`!&}ct zBI)aycwuobQAf&678Uf+Mmh-@9RUhyH~>?w0dixO0#jZjEc9R^=5NZw=|a(kcB?9^ zfnTiEFXp-q#B;Tn>(O%$A*ud^Rg&eVH6Y_5Y%!E39RR&s?XpG`gKwU!6FE1 z7X)DC7)*(5g}lh`4`{i~DZcWupZI`K)_4P)VE{@gc7@Xsd^86zl~_mOYH?I4!aGeX z^E(_=L6?PgveDQ+r%P@UISEXrkn`LHJZ##+!-anV>6h)IkKp;E@p8+3&(5%kS2)ld*J*rJccZM0iyaAx7+F~GW1UWFK&3X$PE1^}NH zgAG9ck5K!{07OwU@j@Do>TbH=CDEo#4m0cEyAuXy_<&jlzJVcKweSJ5 z&=q~iIn18$w8yb=rmEmHxVEUA^?RwnB?6Qlp1os8@*dWTGL2bhzZ!s*xqScR?EPL` zo(JwNdKUUYy7GtvZ3asXm)cgFvCx9EmAi;|w=a0iGiv%%VYKh`P0Wma4y`Xyx|T~( zAmfGbgbEEC7)j8b@WA@+5W3a61HJXC1dX@6_T|Czk0I0zBk%tnW~()VWITGI!`$c< gARL?UBrYYkwoDw4eo*CrzXGTrZ@;GF>596)00d&n@&Et; diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs deleted file mode 100644 index 502cbfe42..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTask.cs +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - - -using System; -using System.IO; // Path -using System.Threading; // EventWaitHandle -using System.Collections.Generic; // Queue -using System.Runtime.InteropServices; // Guid, RegistrationServices -using Windows.ApplicationModel.Background; // IBackgroundTask -using Windows.UI.Notifications; // ToastNotificationManager, ToastTemplateType, ToastNotification - -namespace BackgroundTaskBuilder -{ - // Background task implementation. - // {87654321-1234-1234-1234-1234567890AE} is GUID to register this task with BackgroundTaskBuilder. Generate a random GUID before implementing. - [ComVisible(true)] - [ClassInterface(ClassInterfaceType.None)] - [Guid("87654321-1234-1234-1234-1234567890AE")] - [ComSourceInterfaces(typeof(IBackgroundTask))] - public class BackgroundTask : IBackgroundTask, IDisposable - { - private bool disposed = false; - - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected virtual void Dispose(bool disposing) - { - if (!disposed) - { - if (disposing) - { - // Stop the server when the background task is disposed. - BackgroundTaskBuilder.Program.SignalExit(); - } - disposed = true; - } - } - - ~BackgroundTask() - { - Dispose(false); - } - - /// - /// This method is the main entry point for the background task. The system will believe this background task - /// is complete when this method returns. - /// - [MTAThread] - public void Run(IBackgroundTaskInstance taskInstance) - { - // Wire the cancellation handler. - taskInstance.Canceled += this.OnCanceled; - - // Set the progress to indicate this task has started - taskInstance.Progress = 10; - - // Create the toast notification content - var toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText01); - var toastTextElements = toastXml.GetElementsByTagName("text"); - toastTextElements[0].AppendChild(toastXml.CreateTextNode("C# Background task executed")); - - // Create the toast notification - var toast = new ToastNotification(toastXml); - - // Show the toast notification - ToastNotificationManager.CreateToastNotifier().Show(toast); - } - - /// - /// This method is signaled when the system requests the background task be canceled. This method will signal - /// to the Run method to clean up and return. - /// - [MTAThread] - public void OnCanceled(IBackgroundTaskInstance taskInstance, BackgroundTaskCancellationReason cancellationReason) - { - // Unregister the task when the task is destroyed. - BackgroundTaskBuilder.Program.SignalExit(); - } - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj deleted file mode 100644 index 4310b6de5..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/BackgroundTaskBuilder.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - WinExe - net8.0-windows10.0.19041.0 - 10.0.17763.0 - BackgroundTaskBuilder - app.manifest - x86;x64;ARM64 - win-x86;win-x64;win-arm64 - win-$(Platform).pubxml - true - true - enable - - true - DISABLE_XAML_GENERATED_MAIN - BackgroundTaskBuilder.Program - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - False - True - False - True - True - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs deleted file mode 100644 index 9abecfbf0..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/ComServer.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using System; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.Marshalling; -using Windows.ApplicationModel.Background; -using WinRT; - -namespace BackgroundTaskBuilder -{ - // COM server startup code. - static partial class ComServer - { - [LibraryImport("ole32.dll")] - public static partial int CoRegisterClassObject( - ref Guid classId, - [MarshalAs(UnmanagedType.Interface)] IClassFactory objectAsUnknown, - uint executionContext, - uint flags, - out uint registrationToken); - - public const uint CLSCTX_LOCAL_SERVER = 4; - public const uint REGCLS_MULTIPLEUSE = 1; - - public const uint S_OK = 0x00000000; - public const uint CLASS_E_NOAGGREGATION = 0x80040110; - public const uint E_NOINTERFACE = 0x80004002; - - public const string IID_IUnknown = "00000000-0000-0000-C000-000000000046"; - public const string IID_IClassFactory = "00000001-0000-0000-C000-000000000046"; - - [GeneratedComInterface] - [Guid(IID_IClassFactory)] - [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] - public partial interface IClassFactory - { - [PreserveSig] - uint CreateInstance(IntPtr objectAsUnknown, in Guid interfaceId, out IntPtr objectPointer); - - [PreserveSig] - uint LockServer([MarshalAs(UnmanagedType.Bool)] bool Lock); - } - - [GeneratedComClass] - internal sealed partial class BackgroundTaskFactory : IClassFactory - { - public uint CreateInstance(IntPtr objectAsUnknown, in Guid interfaceId, out IntPtr objectPointer) - { - if (objectAsUnknown != IntPtr.Zero) - { - objectPointer = IntPtr.Zero; - return CLASS_E_NOAGGREGATION; - } - - if ((interfaceId != typeof(BackgroundTask).GUID) && (interfaceId != new Guid(IID_IUnknown))) - { - objectPointer = IntPtr.Zero; - return E_NOINTERFACE; - } - - objectPointer = MarshalInterface.FromManaged(new BackgroundTask()); - return S_OK; - } - - public uint LockServer(bool lockServer) => S_OK; - } - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml deleted file mode 100644 index 3e5b38e31..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs deleted file mode 100644 index e4bbbccd4..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/MainWindow.xaml.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using Microsoft.UI.Xaml; -using Microsoft.UI.Xaml.Controls; -using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.UI.Xaml.Data; -using Microsoft.UI.Xaml.Input; -using Microsoft.UI.Xaml.Media; -using Microsoft.UI.Xaml.Navigation; -using Microsoft.Windows.ApplicationModel.Background; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel.Background; -using Windows.Foundation; -using Windows.Foundation.Collections; -using WinRT; -using WinRT.Interop; - -// To learn more about WinUI, the WinUI project structure, -// and more about our project templates, see: http://aka.ms/winui-project-info. - -namespace BackgroundTaskBuilder -{ - /// - /// An empty window that can be used on its own or navigated to within a Frame. - /// - public sealed partial class MainWindow : Window - { - public MainWindow() - { - this.InitializeComponent(); - } - private void unregisterTasks() - { - var allRegistrations = BackgroundTaskRegistration.AllTasks; - foreach (var taskPair in allRegistrations) - { - IBackgroundTaskRegistration task = taskPair.Value; - task.Unregister(true); - } - } - - private void myButton_Click(object sender, RoutedEventArgs e) - { - myButton.Content = "Registered Task for TimeZone Change"; - myButton.IsEnabled = false; - unregisterTasks(); - registerTimeZoneChangedTask(); - } - - private void registerTimeZoneChangedTask() - { - // Using the WinAppSDK BackgroundTaskBuilder API to register a background task - var taskBuilder = new Microsoft.Windows.ApplicationModel.Background.BackgroundTaskBuilder - { - Name = "TimeZoneChangedTask" - }; - taskBuilder.SetTaskEntryPointClsid(typeof(BackgroundTask).GUID); - taskBuilder.SetTrigger(new SystemTrigger(SystemTriggerType.TimeZoneChange, false)); - BackgroundTaskRegistration task = taskBuilder.Register(); - } - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest deleted file mode 100644 index 1b692b958..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Package.appxmanifest +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - BackgroundTaskBuilder - Microsoft - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Microsoft.Windows.ApplicationModel.Background.UniversalBGTask.dll - - - - - - - - diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Program.cs b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Program.cs deleted file mode 100644 index 83b39cd85..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Program.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation and Contributors. -// Licensed under the MIT License. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Windows.ApplicationModel.Background; - -namespace BackgroundTaskBuilder -{ - public class Program - { - static private uint _RegistrationToken; - static private ManualResetEvent _exitEvent = new ManualResetEvent(false); - - static void Main(string[] args) - { - if (args.Contains("-RegisterForBGTaskServer")) - { - Guid taskGuid = typeof(BackgroundTask).GUID; - ComServer.CoRegisterClassObject(ref taskGuid, - new ComServer.BackgroundTaskFactory(), - ComServer.CLSCTX_LOCAL_SERVER, - ComServer.REGCLS_MULTIPLEUSE, - out _RegistrationToken); - - // Wait for the exit event to be signaled before exiting the program - _exitEvent.WaitOne(); - } - else - { - App.Start(p => new App()); - } - } - - public static void SignalExit() - { - _exitEvent.Set(); - } - } -} diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml deleted file mode 100644 index 49d280c95..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-arm64.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - ARM64 - win-arm64 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml deleted file mode 100644 index 55e553da7..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x64.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - x64 - win-x64 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml deleted file mode 100644 index e12bd6cab..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/PublishProfiles/win-x86.pubxml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - FileSystem - x86 - win-x86 - bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ - true - true - False - - \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json deleted file mode 100644 index 665ee2690..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/Properties/launchSettings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "profiles": { - "BackgroundTaskBuilder (Package)": { - "commandName": "MsixPackage", - "nativeDebugging": true - }, - "BackgroundTaskBuilder (Unpackaged)": { - "commandName": "Project", - "nativeDebugging": true - } - } -} \ No newline at end of file diff --git a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest b/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest deleted file mode 100644 index 6d901dd11..000000000 --- a/Samples/BackgroundTask/OutOfProc BackgroundTask/cs-winui/BackgroundTaskBuilder/app.manifest +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - PerMonitorV2 - - - \ No newline at end of file diff --git a/Samples/Islands/README.md b/Samples/Islands/README.md index fc2c01582..23334172c 100644 --- a/Samples/Islands/README.md +++ b/Samples/Islands/README.md @@ -14,85 +14,6 @@ extendedZipContent: target: LICENSE --- -# SimpleIslandApp - -This sample shows how to add a WinAppSDK ContentIsland with Xaml content to a Win32 app. It was first created with the C++ "Windows Desktop Application" -template in Visual Studio, which yields a boilerplate Win32 app that uses Windows APIs that have been around for a long time. - -This sample is an "unpackaged" app, so it will run like a win32 app that hasn't been changed for a while. - -This sample uses Windows App SDK as a "framework package". This means that the Windows App SDK runtime must be installed for it to run. - -## What is a WinAppSDK ContentIsland? - -A WinAppSDK ContentIsland is a set of APIs that allows an app author to connect two UI frameworks together. This sample demonstrates how -to connect Xaml content into a Win32 app. - -## Prerequisites - -* See [System requirements for Windows app development](https://docs.microsoft.com/windows/apps/windows-app-sdk/system-requirements). -* Make sure that your development environment is set up correctly—see [Install tools for developing apps for Windows 10 and Windows 11](https://docs.microsoft.com/windows/apps/windows-app-sdk/set-up-your-development-environment). - -## Building and running the sample - -* Open the solution file (`.sln`) in Visual Studio. -* Press Ctrl+Shift+B, or select **Build** \> **Build Solution**. -* Press Ctrl+F5 to launch the app (without attaching a debugger) - > Note: If the Windows App SDK runtime isn't installed on the machine, the user will see a message box directing them to a download link. -* Press F5 to launch the app under a debugger. - > Note: When running under a debugger, you may see an "Exception Thrown" dialog box in Visual Studio. You can safely press the "Continue" - button to proceed. -* To run from the command line or File Explorer, navigate to `//SimpleIslandApp` directory and run SimpleIslandApp.exe. -* To deploy to another machine, copy the `//SimpleIslandApp` directory to that machine and run SimpleIslandApp.exe. The sample -runs on Windows version 17763 and later. - -## How to add a ContentIsland with Xaml content to your own Win32 app - -Here's the basic steps to add an island to your own Win32 app, leveraging code from this sample: -1. Add a NuGet reference to the Microsoft.WindowsAppSDK package (latest stable version). -2. Add a NuGet reference to the Microsoft.Windows.CppWinRT package (latest stable version). -3. Make some modifications to your vcxproj file and main message loop -- look for the tag "Island-support" in the sample code. -4. Add an implementation for your Xaml App object. Feel free to copy the App.\* files from this sample, as well as the vcxproj entries. -The App object is needed for many of the Xaml controls to work, and it also enables metadata lookups for your app. -5. Optional: Add a MainPage to create your first page of Xaml. You can copy it from this sample app. -6. Modify your application to create your Xaml App object. After that, create a DesktopWindowXamlSource object to hold -your Xaml content and position it within your HWND in your app wherever you'd like. - -# UXFrameworksOnIslands - -This sample shows how to integrate different UX frameworks within a single application using the -enhancements to the WinAppSDK ContentIsland APIs introduced in release 1.7.0. It provides practical -examples and best practices to achieve a seamless state-of-the-art user experience across multiple -UX frameworks. - -The examples include but are not limited to the following: - -- Create a DispatcherQueueController on the UI thread and a System -DispatcherQueueController on a dedicated rendering thread. (main.cpp) -- Create a hierarchy of ContentIslands: - - Create and configure a DesktopAttachedSiteBridge. (TopLevelWindow.cpp) - - Connect a System ContentIsland with DesktopAttachedSiteBridge. (TopLevelWindow.cpp) - - Connect a System ContentIsland with a System ContentIsland. (RootFrame.cpp) - - Connect a ContentIsland with a System ContentIsland. (NetUIFrame.cpp) - - Connect a ContentIsland with a ContentIsland. (ReactNativeFrame.cpp) - - Create a DesktopPopupSiteBridge from a ContentIsland. (WinUIFrame.cpp) - - Connect a ContentIsland with DesktopPopupSiteBridge. (PopupFrame.cpp) -- Input: Pointer and keyboard processing. (RootFrame.cpp, ReactNativeFrame.cpp) -- Input: Focus management. (FocusManager.cpp, FocusList.cpp) -- Input: Keyboard accelerators. (main.cpp, PreTranslateHandler.cpp, ReactNativeFrame.cpp) -- Layout: Top-level window resize. (RootFrame.cpp) -- Layout: Display scale change. (RootFrame.cpp) -- Layout: Snap to the pixel grid. (FrameDocker.cpp) -- Layout: Crisp text rendering. (TextRenderer.cpp) -- Accessibility: Support for ContentAutomationOption (IFrameHost.h, AutomationTree.cpp) - -## Building and running the sample - -* Open the solution file (`.sln`) in Visual Studio. -* Press Ctrl+Shift+B, or select **Build** \> **Build Solution**. -* Press Ctrl+F5 to launch the app without attaching a debugger. -* Press F5 to launch the app under a debugger. - # WinForms Island App (cs-winforms-unpackaged) The cs-winforms-unpackaged directory has a sample shows how to add a WinAppSDK island with Xaml content to a WinForms app. @@ -118,8 +39,8 @@ XamlMetadataProvider object. * Press Ctrl+F5 to launch the app (without attaching a debugger) > Note: If the Windows App SDK runtime isn't installed on the machine, the user will see a message box directing them to a download link. * Press F5 to launch the app under a debugger. -* To run from the command line or File Explorer, navigate to `bin///net6.0-windows10.0.17763.0` directory and run WinFormsWithIslandApp.exe. -* To deploy to another machine, copy the `bin///net6.0-windows10.0.17763.0` directory to that machine and run WinFormsWithIslandApp.exe. The sample +* To run from the command line or File Explorer, navigate to `bin///net8.0-windows10.0.17763.0` directory and run WinFormsWithIslandApp.exe. +* To deploy to another machine, copy the `bin///net8.0-windows10.0.17763.0` directory to that machine and run WinFormsWithIslandApp.exe. The sample runs on Windows version 17763 and later. In Visual Studio, you should also be able to see the DesktopWindowXamlSourceControl in the designer: @@ -130,4 +51,3 @@ When you launch the app, it should look like this: ![alt text](img/screenshot.png) - diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.idl b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.idl deleted file mode 100644 index dc5b99ed3..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.idl +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace SimpleIslandApp -{ -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml deleted file mode 100644 index 77600b763..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.cpp b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.cpp deleted file mode 100644 index 63af691c1..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" - -#include "App.xaml.h" - -using namespace winrt; -using namespace Windows::UI::Xaml; - -namespace winrt::SimpleIslandApp::implementation -{ - void App::OnLaunched(winrt::Microsoft::UI::Xaml::LaunchActivatedEventArgs const&) - { - } -} - diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.h b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.h deleted file mode 100644 index 2f7f705d0..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/App.xaml.h +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once - -#include "App.xaml.g.h" - -#include - -namespace winrt::SimpleIslandApp::implementation -{ - struct App : AppT - { - App() - : m_windowsXamlManager(winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager::InitializeForCurrentThread()) - { } - - void OnLaunched(winrt::Microsoft::UI::Xaml::LaunchActivatedEventArgs const&); - - private: - winrt::Microsoft::UI::Xaml::Hosting::WindowsXamlManager m_windowsXamlManager{ nullptr }; - }; -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/cliff.jpg b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/cliff.jpg deleted file mode 100644 index 3799039c552e765e36bf28fc063e0f6a92eb0b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162111 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

M74c1wNGi< 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 E+1p^lq5uE@ diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/grapes.jpg b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/grapes.jpg deleted file mode 100644 index 6f78bdc96d2965366d596cd9becaef49809aadf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125029 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

OuiSisrJiRhd-$!kjG` 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 diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/rainier.jpg b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/rainier.jpg deleted file mode 100644 index 0ff6f960bfd6f09af813ec4f2e208194d363d51d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736388 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�wgaEn*QCYleXy#Q}DICh801$hr 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 z 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�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
8NX$11ZZ!CP&#Fr1B_L2w;O|gda&P1JHjY>uU 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%0A!pW^=t7- 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

EO9X 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⁣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

f~=_Slk= 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 I&6t+|2X&048~^|S diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/sunset.jpg b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Assets/sunset.jpg deleted file mode 100644 index 11957d9232420bb95527d5a0b9af38c74bc2238e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96309 zcmeFZS6CF!x9>e<7;;9*QF6{X=Ntq~*@P(V&~$%mRrjY?byclZ&F%c{Du6;?TTdH+g@pys#ryzn z5#o2}iCke`T{u&4+?Q6*D z#PM&&}a|Mx&(Om1$lsd+5WK$as~$n zDRFT8Q_+8J|9)pae*am~{}thXTE-Mq#88pf2yg`jfdeeTU~lDr-Mh9&fNKaiz$=hV z!$ML~Hj$X{|D@m%YX9n3l8x9x5x6xMa0$H)yLI0 zC=lazVj}+=vqvuSZr}hPP>`~R59qP0h^L?HV?~kwI{H6e;J+>#;};mG6!}lD{Eut@ z&u97nWaq!Y|35MRFQb1e`6IZ0as9>hM+E*z{MWnw;`$>3eyHThk@&B7{l)c1 z1pY|;*Sr4W`Xd5=B>wANe{ua0fj<)e^{&6T{)oUIiT`@nUtE7g;E%+Az3VToKO*o) z;=kVY7uO#V_#^RO@A`}Dj|lvc_^)^U#q~!7{z&}SyZ++(BLaUU{_9t<6F&}q?V7}tGT?ALLi2=Fjx0l1XxcvNEeYGwxn z)EprHI6@lnY)lp3IMvM&hqMwJ&H;2>@h=!8Ei7FE6DsI6bGW6f9=-oCfmdM_k&8p$FAd9Qqy9I^kra z0z|JWx+DAH3^gGv?K}POIYOg|34F4H zjB1cI)dGp1mSuZO6T=tDCN+5Z@b0u^8lC-85}5`;e+4J@#l$od@{T?GNq_CjAV5mQ z^|5#{s-4v?n$eEf)}n;MG?mMav=IEL7^Q&Ln=3zKO_12WYj?$n>x#v z%>&gA*68Bs{2=L<>v+V0VX;dploWlp01_ILT+u-uRZSIZG$<%}rNu0ZVjE}b7Qh=G zoj^>~4HU;_ae(dm4K{FZ5q-pBOmVzIguzKG|EV4AEzJ_ktg?tz^NBHB4Lh^t*+9&0 zJ8QHL=@gJgGd!hfz2jQe_VS{aUb3lR=Bg}P=Wyp_J{$zXZ~J*OS@eZ4rF6reTv13B znIXMNM5FlxK5~Rc=v_nHjpSwt#kF_V7Nc$fg0!r<4&N>Y@pXNbBJTqrHLq~9jX;D_ zdy+LHg;0=YbV5IT0z7y9HCFCy3Q)j!b5LYPNtQ=$;D~2&8C8B<@1dLZ{yp(kU&t?o z)UaeJ&siDuk`S$k(!H&njX9@Z?C~wh1OZze9W$cf<%2}duR?ojzOSyN;nnnF4br*D zNK>1vi$ zgyFkaEnU5AlO7XMY$1T-(sR+hXbcTrn7EQL-A=i*s)GCS~LS$*~gC&irm58`*G$?RzVi%7XJJw zf4GD?N{l!Bw5+O)xJHw)n%RR0I~W9Q?fiw|d58q@S`ktJOYmlkO{h4-B4ASzVJAZgp^ic9Y2VT;d=_#=)Tg@^kP3EH%g`w$On4+R8hFI2D}ynP5#F+@>{9V~)w3-Z(FtVJ#Rv1e zV>pf74mXHx23{wQWa@NP6e)UTStP}}l+b52LF#m|xvIZYhD9{1$S!yR-iJiS15=IN zX17^WV^Y#*c{mS5!g2RFZB14x#uhcKbx5OG49r9aY^+I>Z))0ayLB@gz&Q zQUFg#nVs*O#7U^#C+gRoV5bwZl0I(+yHw*bMY&70d%mWa)=}o@ztvAX&`@?5PZAqW zUVG!viA&S09R17K?G~^F_v<7;0j`4vi8YL)O><32KP?i>flZ;$Kt-sr)od_0B78Th z9hz{sccDI&P!ckfg&Tc3rGSPXOh2=eYXB#`vuTE9$QUPtaJ!%zF^s;TRlF4rLB zqVSqpAJCH0L7V7G18Ysjg9F5tS7sT(31nw0zD+c)vjZ`}vSNMGe~Fk3_6NgKmXx0C zTp;+_%Xx}cc*Qo!*;>f62od~-cpL>`AB%^sCE>LfcGD4{p#|!=oOEeO>m&pr7ij{nP_tFq2oaovogfBez$*}+`@QbqgX$02=@WooZtN!vNU}pozTcXj=GK)=vKUp6tvh0PmN`y$o8;)#UgeLxDfXDW2 z$uG81^esR|>8jgVe==~Hq`JlQJ-N_840GQhk7wXmc`FOkHM`jBrQq;OUljw;kMb(U zV>)EXIj=3?=9gp5OV~)HqA*DXB$RE;=RD}_3=Vu5wwFxfyN4{%)Aq!QYM>_voskHG zWj%8y6xnj5Nw04KEkUpkKopYDEIRBk{`p+9qvJ?54TE!bUhzTEZa3lLNSTeuRuX;U zXG~W!7;ypqNe`W+<_3uso@~=C&c`@5Kcr3MLzaZ72g;ys7Jc@SDd|vGQyBzqx)~hA zI@eFAo{jsu*&gz;F-EMPLftoU*qd>8XX7gQ+}4&+!yzQHr(Cpc{>c_{-kUa73%BQRt}Wf4ECMQ;+achjdTYFD7{%7nUt z2C{EsGlvH+?j*$~jANSmNffw!c3~Nuv`nam4WvVCfrU#Kf$UkPZN%s$d7o)xU?39z z-Mx<)qJ+t%p9aC;xqc~5W~MiG@C153_-G8cbu-Ra?Qbbtx`f!pLNqvs*+*G7F+nDw~Q!!B7?_@_!`rDk%^k+$2wxV zzyvsu77ny)FWPYz>CP*AHGA4IP1>vy3bw){Ha-5O1W+Mf-H}_z^4jPrWoWS_ILNGO z+;5+k2(3Tb%;_jyA5O$`YROPIJC&*N>Do=Zoc10d8@H~#X~vh>k48C|RBln`AyOK}WKf4>cT zE6sFC^yGur_%{Qb#~tkeP(4Nd@9PfKExBbdo zN;+Vn4(QyIU%nROSvIXAuQhJgXXk^%8n{WrkcEQ;?)JkmqQ@;!erTBPEKox97v9kl z{xZ&tUmGMv<`Nb#SDJf|PUA{?DM~)dpU0C-=PRTB5#K}+51raM<^?lBF2EV0$S!_& z5Z@K$EqxO+K|ZE70V!0s$eHL=cab>e-QAD6_H%1ioFxmpR1cJ3j9HAp3~z+M6N;hg z4%ByQI<}WZyJ|sFC?sSTm$?j0c19juG9T@Xdq3EIFXzg3T#8x{C z6@(=MQJ~pyMmi+q)KS&wn@8gQH6W#5{(Zr2RHP&-y(hEGZWMc^7-x>GQLaOwf-P+i z?FhFWbRLfJT3Lv~As@>RT&H|>`7k0y=}gRT__!r$1kamu# z0{1jP2lGlA(FqAEEQajfWIk}bJNe;0Cp*X2c7$}AGW=o4;*dcdH+k(<7P!enSrKta zsupKS81q5V=ul+Jmd|e-zeTbJ?aCD*3CH7k{PR#A&JoP?3J}?+8ndK*j#ZcJ+M(>1 zYnMf^(HXS0fsB;zy(*V~&sP5U7t3V~oV*cHPs4QO^hRQFV`X-0E3uKiN*WF&lu*5) z*x96;SBkk0O*maAGG@JtS||Eg9toR>5rUBek-DyO7lD{gF!K0Xr))O`FK~i`nooHz z3>8ndu&Ru;FnbFa=K@M5p9IsOBiZE&@K1>&F6P4#%T7$FqvThg*KyOuGhd?Z%3=&f zYy=4H*d2ux4>OteY_7E2vmdZU=D3X~^}k2q(RYo`l!k*(Ieu zC4xEf9b6ub3B?uaJMGJuF~B9kPRv6U*#vHtRNWw)^Cu{Bp@Xh1fGV;yl3SjhtmMrm z{mJ00Uvlygmx4b_NnYQ6Ukk#Y5y(Rmb(Z+)@o(k1PPa_DUGb};eO?349GFN8XlSR zBLSA}HK@07%V#4mKgEt0T|ED)1;RaqN!+neA8o$FG4xZGU5fQRp&S@EsUvxlvGpE=>^2s6fW*1kv|O<|T}QbHA+%)kp_cr~XS&-($svmf$BWVvk|nOY-C=u3zrD)+!FV z4v-7J{*t_LuQY?keRW|mWjf~SCWZJl+jN27^{8aIgH$Vp*dU0J97V3O`&0li0q^Gc zs=ANdAR4=ivk}$T(GvEYiwSj-s;{(IS9wp-JyZ1v)35Bw+Do1dJrIeGjBY9V=0-t5 zu@u766Q$y~2qc;-U7)G7$W$m7t4KbhiVf<#xCOxRbmcX4n-VtgGD1^Sx2C73u2o1> z#KUetNj#9~$a3)v(g=@jnJcAXVpB~XbJ_{{6{-T2MNt3c5*XRf?5A)&xjdOW+SndP zd3?G9_NGnxtWeI|)^ha*(SLel<8K9$FAQ}op?LaP#yxxPNu8N)v0-g2fM9IK4?FF7 zM7eyuw(weQHI;N+?&JEo>vsU$G9PR|O6IfqCyT^|HmSIoy+Z2hVr%#OzK;Y?u>qdu z*el_6<`R#JMs~O1CB}4usNR{7p<%T&LhB9c`n?+8xz?Z#713m?Z%D<%ZJo)?j97`& z6M~ozXgFMI3N+ZtvO+F){ddy%BdgXTQ=1jmO;0vROpB=>CNd9z+b=a|U$UFM4b~Lq zXIoaIB&(><63tg}oV&xerEm-IhwUucPdi&Sa6D3Q7@CluBF&>1@q5CXHGqK2MYX`f@p&wHYJ zuK`Jo;Hax>F*eLU{?V;bJaT#?Nv_%nzX-Yo44=XVd!;14$ zdY~j_=OTI+6aAVX!=?V5I#cqcSqVL*_`2p@mLctnJikJ1_vmk~M$VVMvbG!OA!9T7 zsmYnZJ(qhQn_;oTr1DCBFB5 zF?J&A>^}_GmiIB=msGPN-#Fa-M$=~OV)#91Mo329T)0gZVfN^%`hB(T7EZ8TC-1`w zWeR53_P1b&eb|qe-IID(HI70mp@W@A%en+X2IP2RtKJDoHd6$VZ@adi`unX^lZ zij9ZbT{RcRnsS|OPT!v6qw63jUgq=;Z?ew7$>OBw718v+?4Q<3gKLI`vl@Y3> z>B8u5cMBmXTI>1f@xT6eCg%cfhNTl1;TRd6xZSW^!zWU__K^bW4LQ}ge6lyWN zKXv2a0yZIkDF6Lz=uz0&RTm2L{zuk;g&@NDex?oF0;uT{OqZ^}2nf%71%GzXRzAx) zVzhwTAhLABP~Z+DgEbJ)INDW3~apGZw0%`WYzL6a>#arZNa!v=p^DS&t z*VOnDE3m2&F@}#8JC7(KRcb~FLpX4M{QA+5#Tc=pjwa@wZfp>H!MqM^f2*VFAaEi> zbb*LQq%$^X3F6S1%YOxj-tmmuJ;1z&2~^=Di&U1V31y0}ffG<78eEkcyGt}^!>#>1 z@GN-;3E6gf!v;3ER+YiD!&lsTHHufDU3xNV*T&xgg_0+N3^LUgNZU?8+&3f8*zsl>D{q7rX_&8;|={;pP>1Gv#Vs-Kh(6 zznDV?w)Gd~i9NIU)lJ@Mew9+Ne1%7_(m3fe# z1c3Xqbj~{H;is4_gEysI)9!*Pn}!6Xk3YIUl8a_V&6bbc;rW&dkq=t!_PbsuCi>hx ztV`%Weast05c%lf0t$U!>b5D^f?klm?p=?tII(vbGBVy+{KDIAS^Gr!Z{6Q&JTz)1X4SS zMoJ&XHD-KJ?BJ09a4va6CHj{j$4I9wY&szJIvk$zt+t`SUIV5$i+~EZ}AC>lo#HNzABBseGS>`D%gaJnZVT!bMzT8z!=R zZaBGAUA%<)#CI@x)ER-^-AIxHRXXk%nXC{?x^J<; zN}rttB54R=3{Olz6y)?4pzn$0_je*MW(5x77*__c6_Oy1O`WECqNA1h&4Z~}5uWIj z^>*M23FK4X;bUk_D3HD{!51^+Yho_A;!qJ5bNUz&{t$ogHwV@nDL)6*%jz4YtH`y% zRH5PW4iuKmD_CN43J(q>Mse=RJEx&o$G!Mf8B!$?WPFP&{~6Rp#|FZ^|C^=c4H`A{ zIz!uB{Q4xZUX=Lw7yC~}#}RVexNZ)|q%a711Gl1I!6|^;zE|TXPCsj5PK^p->U3!$ zw_@mVi;c?5gi+CB0g>PxO0V%!8|^1-%-Gi<*vF`=J~1ArLhFgr42idU$||g^gxYT? z4nxBM7vy6nFciEH28`%Jz==pct0dx|lB=P8Qt-%>l_p24^y&I~S}&j$6674uu7zTJ z4$x_l0%L26dFUwFCMvlBg8T-x(W z?)%S(sb6aLTqg?g-U4J;_I`QIKNri+lFX-4RY?diZ5RWKpPYPo-@E>iFqc#cx3pD)0`IGP(YYmhQoKc zNluvtV2SHQ;|-UQ3B?v}(a~(YaVY7m8siDg3cPVIJ6-jA7xRTTp5K?H+V8bN%nD<0 zKa)Cn=apn?_<>KLD}ABsR{2hr*!L`P{C0Rr%CqxTfoIoIUw_y+|R2wqv}Z)X!V#B zOn9EaxQr8Y0<9v*8RHONt?s>&#l*5kgXU!@v5vO-xrh`~J^U;(OQCl}C?A?geBGc) zs9q?rjoA>>%}=m2bm|O*r~YEQIiOktkshZy_l{1yt$Di4uvIrXSvJeS-|OKv_~^xx zU+ifws;T6i$}{*B-2JD=G>0!pt5-SSzN-ENSXh5{Q}K%fR(zO#Q*jo2rd?25AJ#DQ zQo-7jx$x{UE$5UOn&gMPE~R`rmL*jjsgE*aT?<)O=Ni4e#NGM5K7q5ebbk}ZoiP_p zc`fao`uMrcia?%-*c0A`%e4$OtoQY7fxKCG~9^kjme)4pzI;@HR#Yr`fc}$((lN5|W0@&w7jnyU zxMfabcB_j!ZQ19W>EN4Q8fiRzvyQ~@yqO*Z!g^KiGEC!A@@bc#Yx8yQyU+XzSC||q zOFW+_zHDRyyk-NF2jBwIRK*k@jCM3bh0ep!b{7se#VYoGZEam=8bI(TA%<_P2AK3q z@PK|J9yJ^ZV;h-Z_<*Q8#%dwRqCOzK1vrin6&8c~9OtranxO+S#9=4o0{iGQSX_V06kPGh zdGI-_()9oU2j5+Mal@pBu;tr^2qw#im<9_xXD&daPE&K!SY-tt(4T8!27WJx{h*r% ztvnWp;nD>loz{&@40+RF(%3|hPVV&ijZ^j`vtM^ry`|d@mIeq7+Z2`iBc}u<)bUQq zzpgl(tCuMkAK*^zKrwkJ2ID6KI0*93A}7!!pr)rDE?F4GYfT`#502lC6M0?}36wFX z_;9m0D^ndnI;1{FjR!f$Obv&r@XXoG37JgDf-ltU2Vi~4=tyO|i&XNXYkcN{qAT_) z#jOe8pmv(6#>UPs`pzi7-zP}jjP$^sQfk87G+A;J0iqzdKWo9wn~kIfi5NwA5T~LZ z^h_vW;$}WNI_zA-U7(Tu&N|H!;MI)?Ipm>|zyU<@x2fEl=qq;qcUu)2{Iwo@fKQa2aHn4YEc6j<*TA~8!J5Au z{i(eEgLYoEUHz^OpKwAT5mOqF*6Ic8McfGMiinw^H|Nx1(#&0k%C5?a8x-lBSRkta zDq4uCvB6HW8)Q#AE2KG_^`9_TAC=K3|LCmUkc+~_7W znXMTA<$bkNMKB@X7;VPkSM<%VuRK$;GLoM@2>R-jK*%G#LnXiIi{BJp{sx@qtg>Gr z6XRx|6Uojc2NH2CWHlh3XOBA^QgaFO-i;Gt*2rD6m4iNAG=EIY05EWB-;z_PYaY1J zHum|B)!4&-*!<{fFttO4$_G)uaIrr7JcER#IMJ>|ZN|9*lh$10DA*g;cV!6>%;4Le zan4x%yU@Us zixu%%irj`#neRK-AxkO_=h^&?8LIs>_d=05bgy3xV6$$wCHf0HlP~JVJqKIbI zxXi4qPBjz7W+?em2F#Z(@rI&eamaBsJl(z4Co;7A!>zBBwM=BQ!;I=)(+UrAs-5z5Gg4)y*-deozaoK$hA zu|n31D6)s%EyTnkhC~aEq;H~A`N;J-Fhw-U^Hj|$tsw1T1@}Ekv;M@TCBXa;Wc$+= z%{pW`fb;IYRj1whh7GL$g@543Ox zBCwjUvHV48x+POT1*eXNex~_k*^Rx1^EOKQT?i$!9SFZgEpneOT>*b+XGT??Jbyol zxOsn>C^vATn@ED1AzBsFIXShjgjznsV^5od5;3e3jG7)_=u|=M5O8Hf$%Nw$6$aiz zSOg*24ZMWjBt!wx+F!IEAARRHh%q{W$U$*`c??mnSNV`q1Dv&T8O`YhYHf@-M)otl zN-6Q6E8q=38g6U{0Cp1Zbe(G$y@idGMExYOM&rgPwH)LQdC6(Ntce-DF8iS2*|D72 ztp2S1m-J99VUv}GV+r`=sU?Z-l?<^Q%p}t7`$Jk`YuAngA||H zC$oGZV-_#$3xoCJ$3Ks5&W-Sms}mhBK8Wq;Tm+Qg4eWv6;m+lDuC(5iJ*=4}y)OtL zp@TOYz=p~%KaMP3w?oui-exOw=TCR0wk7M+S&yqAacHlza};kv0w zo5<22b~CPornh(<(;arVfT)(^x9bxq%GmdE7pQJx{5pZ7IMR;1an@94(}oHL3&-TV zWY|!Xi_}Pgy1D9}!n=jm2c}~Bpeb(NB`6+F*k!bAsiezedm*W&^~=D@fWy~CTAR%N z_w|h0^UY<`c;7fF2Bi2Fo@$y#K!zselBA5Wj`BZl(%|aiPq*{)eYZ|YbO)RCufJ?m z?l-HSYS?k<(97{St2QD?)%&2wM=CJb|AhkA+cLk>i?R}3)+t8X! zKBPo`ztIN?Uo*oU&uRppJ2UXg3XVad%e)gEM&?h73yv6T@ z8E|cAtwKSd{{0NE3a2kADJn2w!L1PpqSL5two0 z-FPqNJuC8&?0Mm;ho79n1Jw9MtC7P$>OywbiuJopUwcX`Bj^LVrI z1B_S&H8ZT;If_OCd8;A)kkGG2LPnL9Q{Sz#-{;%{Xj2gl+GBTck#e3Mgm+)@>+yRm z(khSX4OA4opb-NGvM9TWV^aM!ft0SJ7uH=w z;vb?rJ|PetyeJKU&I}Ko@%IYaqra=PyYUFjYEr|^lT^%giUSBjozIGvwRdvsigaDF zRn>xM3}4ykFNX9)+U2}@?FQzEV+swSTyiN(EWE?>xuOnm--zaO6gMMLDjl&W{33I1 z;*MYIVlg=k*)6Tbtr|F?u+|&zaiM;V?U|Wo$SRE ziupIUfFVJ8#%P8-dFL+m^N=&`+OZ40+HiTp;~k!6*5bDbnNirp0hI;LUNqG>PoIP4 ziNDGMd^z$%4?foZlndUc#SAIs>8Lz_V5D2wB3q8#3n{n-;)uonIhAq2&hInN<|<|Xd`m?s z*LGv`jgrxDXi4>(wZi%-?!_PYUv>F}{oXg{Ye{X&1s#f`v^qJKL3&@~f9V@<=il|M ze~{esQp!E*<6!O2X$8WQUAs+rv8BI_ zfEiw-376yeaIAhwB@9h-AxiZBAo8_QQlGS=FcR0$)5F;V8ZOA5fb=xUNft$Uls zP}7t&M^8)pl$?Vm}o&cQt!N(eQf!0 zGpjylpgshklwK=60L<}`O01*IGT-5uHmrEY@I}(O%edF9%2q78V(jLk{#jNikT{lj z$%5k^U#q*RjL^!|`(i96Srh`u{^i?u{QH*QnTTJRqeM~Q%1M9WBrP(uRi@N?RjoYn z17Au$Qwr*$DoParCo1&D-EjM1>L%~+QcMK?l@HX^pFL&afRHhso$G|fu`p(;Ek-q7 zy&ESghqF|f*P5uv_8=;pSSnbaU@^kMg1R(e=q-vIGddF2;h@Zu{`n_Pg?nvXd&#w% zNMvX)`xo$!!icbWL1j=P@DQ1q5?o%1nt<|C40U{F!`b({v3d9fnM2Z8k(>;;{1HobM@i#4GU?GYbj%&1v9`-fEfqy!@CiaU z&yuhPI`^N=ohchWEqz(h1?qgB@t@=r;4!9fKP=dw$;$O&d6K@U3G4;yGQ@s&>nRa{ z8Pf`M@~2B8u6$_EZ8>MK*Ef=y$-<_nYD|i-o*FbJ94t;yzQF4`N=`7_pIw@U0wp~R zTFCPpWBjh8M6IOItg;^WWE59`lA++1C10HWL4Q=oFVS+Vb)*RrL1J#Cbak%oA}Ugb z>GhTTwqpr~0uPcM-l;m-g-0{IXmjXA)iAgU)hK!}G(I*{GtGKlPlPaSV5kTo3v_mD-v6I3z6U9NlY}oDDD0Ad2*rVFn+#FCUa`ad^G`MbU+pw>x zy6V@1Ag+fDd?D10IrJLFh8>ob4#JPB_%Znh;#Sl6??HKb)2@tU+}_+)_!Y&Aov5>C z)+`@+xbrCVS znZUxof0$44=y0g3GSD7Ye&E7)fSV)n8b`r*>I?@s5;v&Ykx^!Fo;>Q``)Nfig6N}l z3R3DcJ1fL9x@AMwXU#$?urR~c3Pl%am66!BpfRjTn10?l`|LBBb-_#8#8_>2fx4+w z8dbW7L=Bq&ejVq@+{!@56>%HidvbDVX;#5i9l&VUkSGsk7mf)7P4g$+!d#4%FGNPO z@^qDP2dsr-DW_!Mn8mN&Sl(8nBtc6>9$pbAo7u>wc&$#mXo$fD=;CA8jWb7%@%f>( z5yhe|c|KmEV&lfuLGa5nSojAP@hwge1@;Q8{T~47kps&W2MFN;2~zGuUe~0Lgw$JDxG%HF+SH86)AVYyDEYh*a=S zigqbWs~sKFiL%IwZo0o=6Qv>950HEXH$Py*a=d^CMa^&aPIbXT4mz(7dx7iYX)WPd z^tO(zUSHV$i8x7q(^8O>TF<*@p~Y2v$n?%lW*7lcq1x0#C+@WnT z>UMAbra*pkZy%#Z62m>~?2@#@viF^L8F6Y``dn-`ur`cO9qtr6k3SWRvwQvc2n<|M zbkL4}`(B_r4J*z^C6umhdagF1K{drnljFHvqmy7O(l`PghAgGSh5-QhyX7st(AmtksGkD z_+4{9_@q97aQ_LBg`znT_W|KzS+c0F?8S!p5+9+ zY^&lq-Jg;WC(QLf$i38`DjYLT&|*2%@<&iH%JJnMHWkhU?1B0v7f7;j^L5i|e|@X; zBZtb8*O;Xdw2|)E7kHhH{+Z@H-PQc+v^E~e z#)g3bgE$SOOGVeJvGGuRO0*+Yha_#yP}s$VrZ8e$x@q$4F6toD+wdopd&6#GWTJXL zOSviRhU0xzlJXMDy_3RbZV49silx6ZUlEfE;NX@pj=G+-J$MSy{oLnkO*(~hq1^IG}P#6TOa&PX^zPs zYSrNMC2Qxc&x~Bk_$D>E{nf$zb7`Y{1}$&rIq`>LXUiSxQau}To?rb;)izK96Mlbt zUvOYyZ2W<>LB1}XRtrtdY(Vv6EVGlRh2HXf7axe>QLQXeM=5y&L7biZaIyNA*^k;( z^fmguIQcj&jJ}bwFee<39n9CACrv*1urW=|Oc_v^eE%{p2|Ui3+o%te#jI(G)Z*k$ zYVF-oNNVG26j9as7`6CJfMJ40&d#{eggUjivmU><@&oW)30U^ztB9pPp6IXZlUB9C z-6bBuX&H8_`&Mf9X2LnOuLOo zBRyCRs9Ke-Jg{`UQXP#~LZ@~#8eP77(kF3i0p4l)U_R~&Il^>vt3DHwXPS>lIo4&| zn2ol4ptEO`u#Uq-E3YwywE?Zp)Gbro7~)tv{FW&piz_WW?7Z4n@ZD?C%2~!->*eut zt}i)LXDFMz|C~8;h;)yR^=#0_)`6n< z(E!24GwA%oHO6eKgGA_ih5fZN3alF&`4ROE^bXM_)cS`XxoM~EN*gm5v z$&BFR4fv4x-1p7!^Y8pc)w|}To=sJ;I=X;|+E7{Sv|m!mb$t4sMr{bMp-5M2cVmZ5 zOmZh!+St5CZ9{%i!<&$=;_d zH0|;h0Iu|U5qj0S$5n0a&5yOF_3}`X1)qxz+7%g#vvCoBigm)IHal1NX)sGCo!d%7 zEnq~9=gZSM;no*^E!g$B)l)o1$`$kr*P;jSbtn-~P8$yz{G$D2p<#UYZ&)vaAEnE; zO*I#`3PyShsnF?#y?*@#=Pb0=4Ktmyq-Ek;ol#Rtf2(gG@Kwt|u%PMW@L3GAe>PVI ztvTL{!WVDK75O z5MXHgtd%XxUnsTwi74Y6v^Lq5$S25j20ZoV?0P*@MM6$6kHP9iJ*`xe6>-g=p7N@G zkmv%v)nl(aI>6VDfrVzTOwVWyF-wiyZr)tIQ_jxd%Aw=pZpm7C%$MlPidndzeq$en zN#zsjW-Bvpzh)}VcQJg_=19p`_;QD^?rHBx&Gu8>dJBPa-Fucs=ph!q7M+y~{N`FX zoYJ<~RHBD%+I}!e6+~9n&P@v>RBMffe=1b3Fuk5>Vh+hnk+th(Sgr5^e!&_vvoqzb zexEwo{rv~-xrcA`T^&7VXFKvdmX;$5qf1X+>+WiiiqJzug2dZ)xhO5Spva-hE-S*v zTA4+@pFm%U(%!Z`58W-Npr%No&QE@r9veCKr4zByVG+&>gmE7>2z#tFc3|Dpcxhd| zs*9e3GRHSQS3xOq(37Tdv#OCl)G4~~Lq@vt4MoY-X7Xv{GoO%lU!tF{r?~AW0`A`l zp^kLkxJTl3kJ>il!*+?f>?6?X1E~iTFNIrl>tu2)i=Ks0bm6W#5vLL~jFlTOUb)ad zbv_COchu1_eqWBs)v+U+ulM%UT=R@9^-dZ@DITA*)A;p^(X?63FEpizpb>$wJ_ z>JsoCoH|&#R&g3CHP|k6(sh3!OSbTw(aR=AQ5wl1_Z_w@^T1e1i@*Ft^3>dW`x@rL zFK$d=eiv7Hm!?aT*k%^+9Yo0_dP-}2J}>&C%^307Z`;D6CoGj@4gE-hSln%XSUEd8 zxyp^|8GU*-RBX?6so#4+v+<7X1FyCfDXb1s7gmq`bJeWJI1{j(0Be&m1X|K+qIE z9`If3165LO%l`#{K!3kP9TjtSjW_Y(-yY@ZjcB82S;PR~ zSrna_bO={!CZLr!2NL*JD1P^d$N-5{^uSFn5^6NDSlaLI0k@Vc{t`{-JoNry%fy^P1h30BzELE( z1IE5zDG41-R)>7tTC>pFq5l9oBi|Jj1VpbDa0Sv^SO{P-_xY?F;i+U(vTNN_^U|Hs zmS+`V`ern?wAPu(W3O0Pgwkg-ylR7mv$)Q<2Pvjhc2-NCj@#VYFC z!c_$2O%r&GAUbgyg=rstesNx5N$RSVQ~bx~INBi6oHH18=W}MKRs54VWM!WxF;Khj z60@=gRHTPh-mw!L>!>DjQWQ=+vLqKU7U4>wwbs1v)56o^;ME;Q5Oylb6m+bO4bty2ZV(H@eP0i_-tWRRP(32*nEU0nT3+3 zUnYaXrU$U7-OFV`c8=01xn@LzB856?6sIYQ39KTLrp$Wu6;UZk)loCC zYPu`7vJKY+nV1Nx#Zy(LLPCI=Mi^DNc#V1=#ASB~3JqWloIEDA3b+tZdjA&o1yH z`Rh&=y?d<<>QD+Rp=uPxY>%&}n#oN-6-7A=+{Y}Ktx`jzLMU=MM2A0wp`prV z604|DPe4_beaFwvD7v93G`7|KhYd<=!kw=loM{}z$%*=Uqo`cRGZpF1_1>W$wKzCv z{j{>;Xo4_Z8-c(`bW8#r3ZXAy8w6z+x0i%cnUY&>s-DiNJFlfa5vpb(m5g`D=aqF( z6E;(nUC7}bmnn!ohPYq%t$w$|2+Crj+bC5yTg*q&>=JS}9$^RA3%C1^OlW!erT)?C z#S8xY))J_Lj({opYSKP^2E&BwPwfpl{{H|U7%Uh(I0f7$7dOf!^8J6`3z{3*BL4s% zq$XA!&GuO_@Zabc+iY-b!j+CkJcw--!@Hhu4Ffv3&*ASN>-bEw%qpcA zdY*X|T(<{SPBAo_*i;2%{{Un~EFt%57>3*|1E?`N8gbOsBDDA3F*BIXA0YT`)#Xy| zIBCa9_kH2W(RCFmn3StJ+LM=xlc!%YBjn_pIYjM~KufGtRZHn82bhh6*AS?w3d`_} zi%&HA0)l}AR->Cnh|SFKS1pnFxI-r=OQw>ic;T`x%<0o`xkY9o)9(s$hz^k|PJrbB z`=P|C?L{fc!7enn&)vW2#v&Jp9@i>&FP4aNmmmK0PI1eQ`hqV^#r-_uB~mI-e8I{> zLuym*hQ|;xYB>+PR5@tm7?E+>?u{oC+WC15rL)#&t$`IyIM=@0x5H)6-q~u7waU`c znQb1dWTf3uP@1YzaWxL~w9JDBui~0TI!Ji}if$En%;>6+oCw)5DYPgC8w}yg3+-^X zj-N``zA)I1+;!4{4GWbkHf?f{2&b7Tq2b>QbAcS^g`s$ciIbR7b{}f$AVBgB8v@Hm zmQC@M6QJC>wX4if6KIhNa4L$ba7|T=i7{e%m6k<6DCfX&jeBQt24(R~%C}g%9u-&b zLHtK>vIK1zOqy^3MbSbzCk0GE%C4fEpeQC_4MVQ`95*(tKs)1H3#pFoMpP0bk?z#q zA?m94F`Ipps&gh0g*xfnAf$xkqzydf^JN9Iw$O2CD%@8R9^j(oMO{WIz!lJ2V?BqY z4QOgSeeuXPzIpdv85ZI~NfuE^Crb*7`;E86T|;pPo^;?lLN_&Qv`Xb8H(eK%41|$N z8bq4WPEhLtN|X$33Ztqpco(!=xD6_ zbCH6aj#0T)I{JE=G+k$2$(5YCjnWy*G{sT zE*{o^)g$Fzd}A#yi2ndjAA|kHCW~;;(zVPI4M%ok-{TI;gen6gIIpZf!?~J1LNdH& zlC>*Z?b`Aasn2pe5|OpaZ%(mQ2OyapB)WQ3YNCsvM4UHF5 zPD2}bwopTf8MB(JG5-KPc-ZS|oj{4c;rD^)Osbg)VQN?=1QlGrrPz_rYqzh>Q#cs34Grd-v^Umnjxuuw}`By;I75w9*5ss#!Tu7)6Rw4+hbjfm} zCpW0|w)VfCC2eX_^*!8tq6xCxoVuJMfdaSgukR2eT6TaZo^VoqupnZ58f4X%4#bBs6r7? zAnPa<1U^8t+LYey`tglEbrSOmt7N8$1xVB-S}QO4Yp0ZNJdNUxxuCLpFlmM^N|PAc z4c!e%B9Vv>*QskMqA%akO;9kXcD$5~nq>lLOPU4~ihx`y+6B;Wt$V!x0DU7NhT~5$ zhdPT<4dic$TGjF&EntY*tfP&gqvPjuDJIn^Nb-K7YVrbQ?D1x%7w=N6i1jw4MRf}6 zN`yYfDFjQYVM~}R)u^6#Xno%M!_w{+nN+22(PJ`|RH;WYy`f+MzMoj~Wb?N#)NbBB zGDMAI*fwazgH&Q9QAM*xNOyK=raYexf(3)zM0$wdAm3Kmx4!kPIs9%>NeM}!QUX#k zngE*$S}~@4MYE;Ezh@MeF^Zv8FttfGi7Ijkn4Ix&H#tB=O`yavMBXEThYwSXoz?OK zo$*09$YAy>C(lsr`A11&7^OPE226RW z2!IK1;`1SZK-Mq_U?c$m2C=YZA5?53(xz$^r(_j`?~R&6ymYzaU=x)&RTYqF%`UzBCVWB~Rq*)jcEX9$1kMt-TE*WInd^ zCY#4UNOCkw_mw*ppP-}m-NmbiZd`m!9y3WMsdF4_SW2FY0DPhb99vB7uUmQfZj9ur zdiLrnDRX-cct*|6NUH8DDv@_I@#8qRZCEIpFBAYevC;{Y|3ar#gMDqQtvKO zY@?9`)i*2!Qj~}088U&>DC{DYybG6F4`;rIk2?5XF?s5iQfad$5``~$Vxq#b=Sa!B zaH+~v%4c9Z89*sOrdvr?RG>n*GTfAmRftyNoY!{!=g04?c`%YLB4uObnj8~!#o8{~ zsAB5`oFIK^DWlHAy}a;40Vy@%4~v7^`X-v1&6f3Clctc4;ak*7q0S?R4&@@8pHL#z z5ape96L6_cq0EzHh$rW$V(CopZkhS!k(t6KOAB(Q#8mINKfE=p*336~n^(%!E|V)# zF0qh|WSHEnqMMH`t6&1{uHGdNupH(v+SUv;O3Y&$H88oSiqDsa2z6XG=ZhE`bZDxX zl9S9E6+wezD(ML}u}?~V@{EH>$s`OMj~0`Wqo%8-u7LqP>}5*T?22EGgN>s#GO14IfF#=%0A@HHF^H~iwK3QCd8)KV!Y7V$+~YCwEwyHPQ6;>%N`6t&U|;ta@ojx6ORw(?PWl z%tUM!xB&IAVfDWVZBN&qIH1I{0kyrZ2J;QK+rkFhVIS#(Fc8znTXWs@iwwcJY$Y#C2-u-(;R@3RL-K+Jx&d(lfPHKoJg;m! ztO@6YGL_cc^WUscjnXl!08eXyaHYY|JD>ua`~Lu#W7+e^HdtgeT*i*5(Rj{5^5Wem zl2MW@BHXAK4KecWQU;40EFfe7U~&88OyvWJOqQ1FYBU<(?av+2i=D;gWZg;@XjNcM zMSS$Hcg{GZOGL-6<;%uV`d+A;v?B%Bco61+w4|Dfrj^8n z3SnSrVTCtCZi;H<4N{&p8WMmm8USxt%`piVlZ~#@o zMKZcny1@j(+L5U?g>xVpl624=0p`PeHg_DJcnq&B01}b{wNU)j`r5Ru1UET3CvHbd&Ze=A;qe@7oTI79N9GMTP#Kf?1sKR8C^U_b7>BE>p}9p#8D#9E zVKwY4qIA|wq9U549q|*%D{PK`c(W+rW??F&Xml3%?(q@X)n&ze=1A~INanokR0Clw zSOchn$%7{8$C)1O1y93Cod<}EhbI6?imC}9aRJgO>IB10ZLYd(pjTRPuM~Io?WGc?ms* zk}KX8J+1UbYpskyXB3jT3pbc=9^?}P#?wgw8aYj~7xA?7=Lr``KBnX4ZtWy(vW9eG zsO4Qt5u-G~2z=z4UqgMpd(BUQ=ieOT8*>YGYOye04W2?!C@a?7qDQ3F*v=F zJVH@fD;b#-)@DUGj$uFC>k2ZYX#_{A$+%~DiMSQz(g762G`Cs03aF7r&JDls;jsyK zpL7&n)FX!Qd@s)Ko3L|@%QoU2Nl0JfA<9%8%1JzQDHg5bL^C(EW++3r<;+9GTmg(# zo=K+F#mnR^k|5~~J#06>mzE-D3Ux!Yq2M{+`^N0{IV^?I0I!LqDc|L(yf)Kzh2|^_ zqE!t+F&27Fsriqi-!^VjJ8DtXw*>zCLAc46krv?%ZBBh=*FbQ-yj0L$%f@ScTB*jEiAc;enbDVCW6dj-|@bW)> zV^ngFFa6zT{RHJ%@fD$`b%%UvXDPdA<-%?gIxb7B9j0(0I-kYMD0K4qeJ&exu^5#l zO{jxozA_43RTfy0swk*ODC6Q%DWJKVxLFvq#nB2yic<+qaI$A82$aUvVYR`Fw>)A- zNv$_(X>Vrw$BiodUpsK3W^i@|T;^_y#{HR0ZwMF*wf#q^{c!Lp5v^H|ba{p`)Dni) z5wS>3iW~F*5B%X_kh#fFNmUAF>Z7FPOvT&;ytKfF0}%dVYl!~=b6AtsBg@tEO4cx-#67 z#-f`hpqX8up>(E)dpXJ8`GVXzw=j`3%y2W)-EMx7SJlduOIJAxHPcOaCcm3V$ukp% z4AaYvCzgV6vTkM&i;ot3x1H>-hSBZ{qhT>@uds**Tj}2oM8H>ds~6{R3E3oqXrQG8 zrzx#-dneDG(X1*=ysIfC)kb<2MUWu4BC?9LQGBRT%>1uMXr{yZ?SeRtxifJ=L$G{^?z&2{QOtaFlfy$1SMFi47 z3}*sEa)_9KfHOL&&3W_hjjt4WnTZx#N|RM(tyMrWq*kNGgNfY?1!zZ1+@6}H`86BH zoW-6?#>P#kz#TTYD9SX=0OmOAunOh^mtW3wNKwE!(lymp9fVx*71w~L&O8QLk5WWG zi*Qws&xLs&vTfansGXxoExVS#pOm5oQM!aNjj0pp0n${!t^$U!5SerleJSw$t;mcX zQSeDfK9lb0H9P0d-kG~=m9u{IxU5tg5W-^=iQh>;Og<0|_QJ#j)W@1o5ikIC5&G|f z5*C%xsHWk%M$!(&AXG{=K9o!%1lrpO`E=MYLxPA&9BE%D+h|hMirHrVX&!r8sx@S} zrFiAjkbK!w2~<(LbkIq=a7?@SmUOAjpaVtCh3ecXtt>ajK{BkFB{^Qu76!My&VT>~ zcax-Gw6pMUAcJL(WEN2|DMZ3iBZ3H!hebfPlh|!x@TeCc?j;a=LGj>G)e2a1)k_9P{ps%GNx-A0OH~rVc$gWo-i1c1JQI zn)kKbH%>L0-xPjMRfMXzNdkbTQ-?zwr6?FIBj=7y{U;MslntoyG@y?|uM)%1GZzz2 z8u|A|sm*@V4jw4TB;+Ytnay)5p%PU(b%S?NE0k2Qif`Y$AdrFq`~au@URGtWEJ61u zM^-P}Q55n6p6IJHjbYO4<_D}hfYkH3z=h=(YcvXX0!_QoU_y;n7xd64p;B4Ze-fMXnhK{HGslmtU{as z2f{veks&yxlyzzaJBa46$;?v?k!P%Rz5!Ok^vJ|#SiG)+Afmo=M} zQ<7rwjYCalwHoQMM5s%(Fe+3`H#%lAC%MRU)iO<;H6R9hQv^zyImzt{Sb~Lk9eh8S z<=Edy6AjJ;%LL_Z%bKNVeX<7%W2g!| zrYeSM6wjEcZN(F61sbdW05t=U-EIM|O|tBp#kGFK9S?ne2GP>+JW^X7!_fO%`zk^9 zkg=*yc9c8Q-3lsRGV&^s;wh&Ml?{JKQ?;q6Ken<;)U`Z4ILWJtIW!qlG^=M*3nG%z zFI$V3#%@If=(SC`j2CiDI7`efU#$sI8H#L@bky5HTR`qFhP8_NqMSk;>hqlIN^VFA zNU0T36;&%?PB9t1vV1jBnUhJyW{S-iu&869*8c#Br6(yCX*3f7Rhx$@N4Id*a+got ztm{f)a2{|MaKD62Ew^YiJ;R;%q-$Gmg0(p)9j9p{^(i&?RVJIWTfR9Gsnt{-Jdcrn z6K`Y8k`1NWzDepXP#|hBI&c6YxrkF0GO4RlV3;I65&#!-Yyd58=;1FZMPw70kIh=w z#P9KpL^m6H?fK$JhBJDnF6$aCjXx<+Lax#xs*U))IWA2uVrH0gd%CMfNFXLjUQ)kw zs1U=-R5@p{t{928+i^q#bl8pK#w|Z1H7tZFXdw#~LjM3NhjGxxAXiI}he(GpQ#ffl zeM%vF*g$>%0H3}jpo-Om_r4YqDp3-c3@ebMTiC0bkrXSgn9*s z=J1V&7eaxI8k<@T#VuR#gvJ$IiIrT&6PP>)IY&x@PXLev0@vyN@VY}Fi&%F7+hGAM zx9Pp`us{(V{{XL;dj<$1%n(KTM@X1N15JY0+}>6$2qR}v`MX%rEZ1QgvqvnJE|6^? zft4aBC4j0XWDJ?EPz!jBA*5|?mP&r{la~z;cfVzdyYxu}n@LGl5zS0>-Jtx+pv6I0*C-?kBCs36 zVFQ-lm!@$RfEOL!;ctv*r*?H%lf6!54y*+!DIKL|s7W>5P-|__Q*INJRH%b`dVOJT zA|j553z2n1ZbLZ>T-rk5QU!x?HsjH!5^ImUSQD^~06Pn@(3=zAU3?=6u6S3go2mw5 z4CJnKhL*=6kx{UK>IDj#WdQ;dJcH%yaWkkaoS?k98v$X~Ir& zPZdXU5#kJyMDGnHB5+1UWXPDRvIlhRKnx{Jw*fhXy2PXdfNK&15My`k7}2p9+rdg+ zTMXHXyGo^Mnw{Vc{ldH(iwb(6drr>DL&hxP9i*F95)V@^J#raS-J3&#U^+lX!X~jm z=Ms~BfG;V;1%OTY=ieHea?>tLt!P0gN`h3OeRLe_8&@f~YRvrLsJ_C|)a&oGuB9Sa z5FWR3gBAu_bw~*%Y>X{&;80xyFJk;_#p{+OYjo+2DQ)FPcknfB;2lMpn`D!01rk*vc>pYq#K+h3RDfOYP{hp96MI;V;j&D(F0o2D zmYH)t^ti6IRytEAP(kdU&1j7b%+53)W^CNaDR}t^*=UJMcBg3`4ga75gcfE=)~kyI2qVC2?N*~_i|QLM~O=a?#>AdIS|QWt%EH}hC}d=zm!JLf8ck+#o_vX zxLqdbDa;@NmvBKKe59}(<|rG$20etj@l^`p8}!#wlpeB_KdSur#3J$4N#uOh1i}7R zQ?24FDjIq|o0}ta*6)K1gB4mNf~6vVc-%Cix(g6_T%(ZW5d}aoX_cJ)(V^q%l73t% zumaF>nhn}e_i0FowUaUmD1wCmRWpeXV-&y!An6b(lMyI~xLiF3*tr^PREroFBF7V` zAfZlssB)P09qy=Z7xn9c2$Vdf;zuUv?iOWZvl5PmsB6_TCS&YW3~)C=CEz9uNAI1~ zOvrPWxiD9lMrCxGsvJxyC1PD%MR2MC!uA`M6+Xo*X5-%@HQYlkQk(qrNDHH<6IA=LW- z9x70-*?alDY}uXW0>~;0OVsBe}oIy6RG~rQBQPSc50}|fx4CZb6CaV zpd?*AB6?2LQ&0rz9JUnn__YSVJTVO|O5Q0I+F`}7gl;62RkKvkI>&M;7Q(UY20g!c zKstM4BAZg=`0xFrBbJGwzrWwF+8!w+WRwsfI5LJIM1oC1KoB*;!+pPAxWpO61ABMx zw>;81kEy)64g5c!tRpd`07m@70N?k7#U;FoA@7HJ>NxUYKc>A+Jot0XVN+)hwRlt# zkCUn>W$4_ru3*KqpQ0f#%9pU=|&03Vbft7>UFVgbylQ5Ac#W;m#$lu{x|hnN}3 zicufoEym-p0FDteiCNbC>LR8f%eZ{0bf(GTX-|DGz;A}c%ZX~qn}^`lbVZc2C$Vpk zeH|M%!0coj8KQ@C2QHeZEMftGz*7aT8wgx1jt;RjJZr%F<48M4Fi955ph3)(s8HIu z6ev#q_-zZ6prOQv1qdcEfq4>z8mZLDPj(^uV;Tdqkq_aqH6+7 z(Qx((0RwuRxJ?Izei7(!ahN$dpS)RD)h8A83?dPkpo_Fvp3_Hl+CQs$#qEfc6Tmi^JO)%!JRa-mgH={UdTf=P39 z5+`^fEfiCdtHY>N&Z4O%MAQp7KEoySUoT8f(W++5s<>g%1e>USY#D? z`5^Co$&&@0NEy3S#Z}y-vLq8GM8k8~#lGJ)fH4}@lpEM_tW3);Jy3yDu23qf4M?`{ z7%l7hgC?6vQYxr5YKumo{R0(NjZ)RhMX0C%Vi)Hd2h2ASxq{%S2;IMgHN`q?s@PKF zPUuYDVe@8gqsp+Ei@^KlsuZdu2Ll1QsA~P0_OO_i69&e(TFxL74GU078;w*ZN1^Rmaw!s8?NilcHNzy306>Pfc{{WOz zmEBwHcZs++gg_5+Y#SeI>Jo+O-5ltMRy$xSTeInU^-Hug%u?# zBE+ZK9#Mcac)LdgSv3_*<+*htsnI@@btov1fPj4m5-A}=?|81;ifL5@j{--;UL|+3 z7O|C<;~t-&=H*h5g|Dd!q7BO##Qq|8=Y)%OQNuK7ql=1aCb%l&SC|z-h}hV}V+=Hj zJi#CosA+0uqDlD(-!>N%oH+7Or&LnoYDvsVu0W-vRO#BOj-fLKUnKHbnsODYG}Jf& z1cJKBvOonyw<2n}R>djIJ_4A+04E(c^2V&vOPYQE0GsZPyD^A2ES}ovBb9C`IR2=s z%=4O@%ciaA$|jqZ1SyDx8!}KHClcUNT+&WkYv&~VfPKiI02Jw%x^0b~R|`*5+tmCk z_WQ>o#kS6MbLXj1N)T){u2XuO*+RFCi;y|6^NuX@${eN5@e7RC?vY?P@?0=@a`_Fd>y@um+ zTUCfNEikN%A*HElNh#~p2l#|;zq4ULYg)s#;D?7k8`oQi?5CZqB2Osqh?qlm^oC2enRiN{UiU2``gUqT(OL7}EZ|Du&H0AXM4J%B z)ES{{ZF6EKNQ-$2K4;V7Q=Egq3fpAtV7(PV#T(8Ad_n z1QVA5O)>a(xZ>lP8FnYo;K(J$!;R@<`yzg^vmfgR*S6UWTNjb@|~2a9ljftxg0A_Zx`|A1db+zr?PUPWQ&xQSoi1w z1BZ>9EpqV|kZj&SvYPJDl{7o%^#l2c_fxFggSli9QbBmbiej_==#!+DK&zmEkTMCo zR0>n8VZD4u4-Pyl`$j4Cb}B1n1DKosZE3w!uXQO~UQBptl?>cz!~`sp;E`}lx5-Bp zfu2hwiy5k-mx^~w3n842BF0UFMs8ZB=|;(<^><`hCWb`H6~YvsJy}PJso;L+$~HVP zezx4oP5%H1n%`9*W%j#;E4-Tc#A4?y4=Y5>tm0HyLn!czMtz%$bp5ie#HsVtY?NEl z0?nEutuAYKUw#W}P0okC z=!YG0H8%?Z!`5#>N!F9}Tgb$+&be(+xQUmJrrQPEL`uoDDb-ncvlTM1Q2NqYiG`b@ z*_(cCb1g@6CqtFg;aX9Ln!#!Q#rIgdFUTP4L`APo(EvR>n$CpXo?RExe(TxX=zJI6j0?NWdb5?1t3e8!1rkwu<=o^X&bX@ zJoNd-qnBuQZ&XOfZm?fb95etccPW@hO30ME01r!8wzY&V7?c{tMGU8#$CrhM!Kskz zoQWct)LB!MgdqSLBS%g-ZwoXx3k^NYw(SVRg4jGIacD6Fst^`Qk2@j z8>XB|p*_&rC8E@daAXd%cK`=aq;SzdS+jzspr$LgSi2c95FG~FSwIc}q{R`klUTsG z*=x^(JGe)fK>!`?Vc1635c*+aI98i*Rb+@^A_*9p^_@a#&>NUcYxVyCPh0JR zu;7}W9r2gONz>5^rm2NjiYK^=ZGln^!=VMhlSqfCTEqN7z9d3|1YBX+c5iZj)AynG zLglMRGA>M3O?!$4`II6heDK8q`HThaFr!iI37%M)Y_&&IJ#9K z1P*N%F+j)D?R~b})Bt(p?k*c1eiZJkdRj{XWpp__^!{P#P+SGTxDv>Gj$Gg;AA zNQ#$AgbgU7Qy2KNU&h@0y6N5X&_;c{9#sPA2g1Yl@{E~}XXaTr?`>bl zxQ&o9=I$ouox%>R9u)h-e+f(?A0ez_hV~G{6^_gzlvQng-1B&mI5dyw74RJMNQz$3 zoP&_bILdXTRV)se&pdG5nG{(GDHH*tadz@mIHUl^BWA=D(ox#SOoUl<)A3(UGq@b; zrrkN0K#_XdwKf&rPsm3(=^?fxaP%dn1Es@6+c{2AnQl|`gGA=+ijl672r?cQ3YA9c zAfO0=(K!JwQ2CTo4wm#DnBGyR81swD3UKyHPYo%^-5zl7zpd}}>xaZJwUd+^kPcBm3WNZQbVs*2Q5UYGB&w}sA?0GNMV zJaBg}nVEMfU!GPJj0&4hc?@LaokOPRN~#O55Wgz!4nvU06;#z{Vdis|P&p{;*p4=d zS+1`sCZ0#nhsU^Y={qs80~W$nGN+qGO*>tpl>V%??HY`=1v~1a*-xvQJS6cUmK3wq zVVufTIZ&)JHM9Cr^pl6o*bB7*2$bb1wE&4HF72+l6jN@I9yf>*I9ScocGRvVmc=Ay zR4YWeT)Bm-ywO|IG`)(nttu$u+bxY@t*@(5c31-ER!KAgSyP$20OG|~5|L2eq*MbP zu1%pu5-Al#M4(qm9>x3g#6?2rCy`CC7yUbh`e${G1l#KgOhb^uQ1of zV7u)pE()2uc=s)}5b1{f;XT2zjG0yx6*^#QzOyPEBRWA9sI5F}_utTQFW&naY$GxQb|gZbp&b*X4zLuv8d~+N-m;~e6=+2+>(r3CASkzOE!n=qS1>iYhGJi)@MAH3fUZaLhZ^w5k!9Comh$JGI@d4K<;Q zQWC;qWw4~x3Rpok$^ka^wB9$0=}}t8SUenXTf?SMWmMK;R`6827&+;s9+hm!l4S@q ziD8+!&j;R&w=2=pJ z@6c56r4yj6YY`9;5dwije+fiv9>6BPEXFn}9=&}2xAqJWLF6xYac51B_hzz<&#e;< z-y!c~2baDRQEz-Nva63RBRY|+96hEf2-3S#pG%`DA7OCdRaKOuzVuWRK|tgtnj%7p zMLkC{r{^0<$Wg>7ZzHNds)tSE;})El>lkcrKq=o+39oaVbZ@3upU? z_HA6q-r3_zsXpl1ws#hi%%&$VEdK!aZb3`8%J?<0HcIVEP@N&OXO>05(8|cx8BJL= z%`BYw&%xPMX&tIF5bqwKXL0eBOhN(%NmC|O0XIpMS~^v`f~F-hMocbA&Mn@{sp{O< zF5)|@^6-o{D}^&FnaOtp()qIIsLYad3IpJwV}23f@WGmMSuLO0S($Y7pu~f1&3kH$ceY)al_Imk6r@EuWTzsM&4sCKcvks)trF5@ys*~_0 z9CsQ7cF<9oeZ=IZcTU%J6wJJgQW8&%4G#^?6(Ukixy~tw6s82nNm5UkQPP2JsMzc? zD%DP;AR#o&b(VE&^=oK?%^*Z8|QY@6GaG)mJyY-|;zB7@h##KnxH60Tz@w#GF zMW#Ap4i!R`2N8#T5#X0K;*;ucUDamust~0ien=Urj9& zB6?&!n=*w}oaHpBG_CxjrvA+?Kiy}$TAwNFMlG4l(ooH$VPqsFMfwtm8t9~$uO;_} zSD0I>3ive`f(EeZ4Q_r-Qlu)jRd`#P$6DEJXZp%qXoH=!g#)cek9PX~VTX2tJ*=nd z`5N`p!!mNgp^C+1pQKgAL0H9qGUZ0b=7ETTL9<;#2P$VNz^V7t!71cQH0Q(5Si)@s z6H0SE#VbN>;;uS&NAD3qUSBa8ioSqU9~$o)weN=4#m0HL;tw}nS8mxL&DX)BqMUbT$u&jO zmg=tQ%d%L7RX{nHu@rD+6y=bKr^#rWW~fOmFY4&aTHd_)MyrocClJI`;1m=C$9;4M ze*5`aH2_s@%|uF5k0MZT{nFIm!seAkr&2wXA)TGe7OI7gL#k(5jBRE`M8HU*0&+D~ z2jn^HUN+-ebIGnZtp$<@zh;MpD{ngf+EPKgH|to4n);}Sc_iW_vsr0Wx_FdvQBBIp z)AO+pkcNeH>iyM6i51b8c3~2!T*Fr4eo-mB%$%P>{MW8@#YQ!1C`Z%u+jU3bDWZYAWd|NJB1J=(WCOgeWfyjG zqi$Bsf$`#b=Fx=31!k0Z=mzB8p8eImFTNX5fP@VqpsA>(Q^9hO4077uJ6uBh?P1&i zZN4lmz_uBr`8aPJE?L>wxLU&KU&!~+QV2A~c194W0KMJs(F!R563D5unt zp-C{#h*A}hOHozer5b2eAfA$-oncGMH+-p@uw613u3jwJHvQe<)8u#0zD~1%kZ+Lg zQg2$=RB`UCWTlEwP(nk)^C8L%xqC{=b6GUiL;-qIv4&=?Lat!SxvyhrIx{Zmmu}Ty z!k3{E7O*i2AYcu6IdlV+ArES@$v@}WgIUH9I%xR`Mh`e$D zu__6-!wA+v`Ma^oUxP&%M+l+EA@CRP=RHc#NtgZg)ay1S3K#-NBa{Vg&s0vQ($Bh`Lo zS;#S2W{P|=qv9Bg5G`FQ)u3L)PLe|&!hp$O- zN0#*cI*eUs!~ANlpCY;0RM3+xl_}1c+e+}tw@9bbVbXJVpjbX*^G)+oRI19X;qdxa zx^IoXQ)=3mY$eG=>1Cvg{{X^M@9kDQE~S%X;titl=Y~54kt*EQ$)rR~TLF!9$#43< zpGH#7%ZW$=ns;f*jKmTZEMZ--N})o=Ab3QdIYhR&ThK#pn2)T8^3$Gc z4Ev0(BI^zxa`H}3FX=fd!g;)NsTU__816x&BUH(#vM>9(Y7~ip{KinaZXjJn)B}u` z7c7a{kd-JP5(Un^-s{GigeM;REl%# zxyT=1Aj~<6BE_@k&5Y4S4B(_mWmRp?IY>pp9&#c#Feb#6C|qSeHQqqIDZ0Je;zgyl z)-s&p+o`!EidMEHrn~7;8-AJ0JoJwEgq0mC{sFVmP!}^~V;B(WMG(%rpLlqgbrk}n zTc#sn(3QwLVv~}x3m_;0M~?ph4mFItwkwUXnN2NCg;ZNDEqYXo)9o96hvS!t8U{tf zg{yjUqi-xnVIr+#0S{G!fT&Xy)|pYTXk1*AP#mVzRZ&$mh+qLlG8VI#E*$UVQb?sT zsYBW4&N5P)XS6b;{yJ6_T-{<2<#UUjD_VJo(DHRASydHGgvCJ;@*NrJ7UKB1cTS+e zq%sORO-U&T7#XQUrgc>>FcM~U+n`Ng1XU0K0J@f@T5JT6a*K6_r1ugNVWsF#bYWeX zk(rn(S_(6fUZDUbJW3Fyo16A(p5h}|&qpf*KP?iu9+`OOj^oapylbe5BvnL34G-d- z4>hvsj>kmeJf#b!=K$W)7uFyu*A=k@c^wGvjB}_hI;7sjj?gJQE|YLa1EG%;$2ZC# z0dGF0{{ZqI=o?}29DA%P+Nw4@VWaALhCU$YT|>pPnv!c8W4Y1ZPG(3bRPLuOJ!7Wk z&`np;7L2sgl~R=Y@FMHr`g(jVX4uRU=ZwHIt_5#*xx1 zChb9J@;+Xf6VAZ9jgZiFP!*44)Z_{#a#JKlRWbl{Ri`w;bfsuCT1f!XwpV3d?)uX9 zjLr`{%(q(0>CDTZD2nAF#)6j73Z+F&j#84Ui_*qRGJk;@zlib52^`AID(+I5nWgE; zG){V*#ZvAX4t1kv-PSR*uQ04zwG%u404$M1#$sDhK*Nk2&M=u2xskMj3Wk9ol#&jb z*ILH?hwKdAGKqH{nOczJNpkDXq=h6aFKW3$Za41lhvt63+CgAQUYP2E%%GA@w4u|0?y1v> ztZEauB;2HztSK1~R+Ogotx`>EVt80mwcG?Zh`X?D5xJLes3s}` zEyx?0Lt4Zrc#LZScMuF-acFG>sL%~eVcKcOoC!dxj)RQ_V{gJ&$fD;pzr^?m`l3R* zh?IzX-wFy#dR9yjlgVgVXa*(8F&4?htx zeGVDPCMHu)fmSP^;RVW20tO+MnCrr*K}a+T9~6C_}#mJy<7V^vdek=6#3w6N>1z>_R$|;;; z>O6HYxe;dAQ05fKChYDt>M*w}b-+p-z$kzo!fjeXI}YJp@~ztYzCF>A!<&~<$#C{l zO94`?ZGJj&;dtHD#%@BeyXq~+SZn2I zqn9hD-7}~lb#xG*W17S@#@c_=f6EuM03%Bcsl||xPPP#1sc5M-6dM@l4Od9%D!PtJ zLY&tTRL4VEE#eTlb`TPHchmuFAbA6x{&}=+aW=v59aCkk=`{ zc%l~!LjFvb?){@Pv*=p!3JvYMegiGdH~1St`OMI$NIjEHsZj5$3JaXTAhV@zV;OfQ z5#3{(UcIgbD5tSVpb9j85gshbY0^m7L9A^9JD#nP)K7nc#xpwAvrg(h$bn6%mhOSMPX8e{;$$I&E{WC?oi^}w#JE5ep&N+T zeQ85Z?}qz+ssjm8G|UurO0Jy+0nCzr%m;OMV3BfC5pE8=bJt8xvvrxeJ5|(2p25+1 zPTDvr1OY@;FNH);bkr||QzLsQQH9ah&A_G^e1qQ4OYXqVO3OTlcN)&nmB@YcIC90mG{esCO2d;!7muK{e#ir)Q_db}nZHq9YG81nnw^;olGuY>STW zWz|fdbVrUsB-T+qT++up+DxmPss@9Bx0lFi7j|}O#xa>?ds$YiW~G#qnw79LuL_z} zjbo+vxlfk)p$QjOz&#|46;&F-b{=LaLY1VnQ}(>ZZx9lfZAqHO0S;nk)S8-3LliY` zwMbnJYBdJ`066W6Voq(8tu!cD3Q10dCj5N3)}YcGZEL_?AtxImXa%_vY6Vi^1Xn>Z zNz1B*)(ZhZ1i(9b;}9NK9(mFy{+x{03fJcv?>N$isPg_=FEpw;Zk?e_ z<~~ZJUEG5RR`Ll!yDXy?FCM$lQzy?!6-6tEnCT`Kwk%4_JcoY_6)NF01zPu0%ikF6 zOAEuClTdu*X2oSo2oyoha!9p6H1Ljf_{Zb-CaFZ&P`oNaK*~30jErpLoQ*dk5C=%> z3wNIga;v1yqRN=QCutDnSuhJZy~~b|f^6m?Frwtrig-~&KO3fogSeWG5y5uLZ!ioz z25`30;kZ(ig>^d6_ zJo6mjiB6%!q%nD`1s$>-@!$4SJ>yl>F z$wGxun?L1NfP|gJH5Jm8i(aVWaKudqTR9yK^*{{m*r^Lxr3zF~petI_glxQz;x=0( z^T4^rS|X6Cf#R}>PtlI!8#9A{3s9GrIU5KoqU+&@T>~8?T_TE#Hcdlvg2QYs5-^GCukhPaj#tJT5~a1Sk7FiD0ABl*Gj&0o}r&Abxz}w<}p_aP8gO<%??J|=)&5>Fo5ry%lATU@IZ2OLdbMrEej5tkmnkLVp&gdN zxmc~ES>2$$UDlo^KTx^(gZH0G&_cs6tFjH*8*6L90V3a_S&y6;c$u z1p^$m=dp<_I4CJXs7Y2@_YxE0ZLb){VB0H;W4RWD9IiMJ6-`E9m8=VPP%EbKPWW{- z2Mjqsl=Ez|ZmM+veEVTcP1M!AjZrk$tE`Gt(m~^x6>r0HfK`Xj!Zi8&s8p+ zLQ5dk$$|*#nysr<0}+{0oJ~>8obTPt+D+JeN%{3VkfpqhDkat>jYY&wW1eBT}!v>IPCe!jOw)1gOzE(!|=j zSi_a9>1YhIhp8y6%*(U2pJrFBDO&ys61oIEG=nNuI+AGS5(%iiB>a0xld3XD0y&(Va;~v&sKg>|R1+nkG+Ty^CNifr z=FpTnR9D(j_DN2kl_P(6<6ZHCnwVR%sA(+@siawH3%bqSaGf(7C0l?^BV0*6UHYgj z;H4_1WYqyMB9c7PH&2q0zz``wd;n0m?l$T;vIRZnF>WnOrGH2oQovArH^)YN4e`Ol z!dZ1k(NQ5YKyE{c{aCo(Lg)YJuwp6aHc({_>Qy^7lG25%2)T_CkM+i7pBbk(L<@ggX3F`1I=D!O7(s|r$R@GsGgdJ7fNlT7VSJ^d6)p-L;1ml70*<%sAD zhg@L}8!1$&3Q~b1!{1Flm5t@s=9bdZTS62PX{MCd$KeqlmHZmyllqQwTQ{p`GyUdq z{Yqd#f-P1+?h0iWGKWD$4B^u2Sx#btifIUP%26NyV`G?_#DhUC0E!H{>OAxv!_M)| zB=$QDGY&3cMasF>X+oOor?jKrP5@Fd?$iDvGN!hr>5Qs?%jYq!DON6AQtP*$A=ttm zN@X?N%1W|HAW26{HAq{cQi+F@sg7fYf?n3n;ZrhhscLe$y`f50+q;3hVfsqNWF3}j zT`f^bx>Zrw8HGt4R4w7Y(9QcW=r|0?<8LOZ3Ymw+A|DNK;ly~8Qg0NE%lSzbX{-QZ z8%H@ZiS!t%0YmP@4Qpg}o#nBDJf!L}fBT7zL!-G?=XSnPwNRw>#Me&C4j-oL#;4+f ziIIcPULqmYXoBvkZ1At6Bqh=jNihcUFP9@G%}yX-AeFkR7Rdk*3R0a>xiNbVm=4LX zuhz?Ir-&bT#ADJ+mc}PhW7SPOlC1%vmr4%=lf%9rq?~;36#beR0Y~MnJ1pj_;qx%3 zsLG|gS1eqxm}O8&zNy)515ju|ztc8b4ni4ya}%?b{>+|G)m7}ar%hBBS_E=Do|A~O2)~8Y|b*@RHH7_DguZ=13fGK$%k%gDsrJE z6`-vnKz5|?$x`s&ov;n+3f=v1;;W;hAGnp9lm`;#ltiWpa;C*a)KLan&35UPG!RS= z%S@-;L*=$#5k&l=hCrN)+$ai9v%6bdo0!)+L%~iJiXmNTbUN6&)l~&2+TZM&)Bpe; zaU0RFvr}$RX%`&&P1BHYR;V;=;nK>LqCDq9f(R5&Adx&r5Dg?K35{R@5ZP4YXcr)O znro-NG(d-ce^#?+I~5kqrXP-1#>VhOOlu0)!G65+K_k~i#9di+u z#mgl`ita-pN>T43!`)qUj)j0?yDr4qP?WBksp+L5Eu+Acsa4@zx@!|@oHP#&X5qIs za~gm{FRQ4UV=t%P#>mr$JNVTfd<{jSNYVD5T7qHFVC9&@&_>wQrQep zb-kmg&rQfL27T6Yttn|`B@`g`Y%9OY80Tg`XKgCJQ$%MTZ`06q42^OO>RLr95-72v z;hZ*b!FH=A1Ej*Sbgj5}d4ONt)H!T>9a^S}8&OC{X4}X<*S^~6c+|EVX4;dGOYWd4 z$9rIr?4;VB?lifHFs=Ad$Ox)VrI>j_z#!HVpP83bvFIq(L!}!WcV|g6CT|Fw38LX` zH`RJya!a1rGv+%G=0{-r5i^H@Z<9H#E$(1sBYTbQ5& zzu|=xtzt7#XnkFt-(?fd*UoD8ZDgX+%gW$8gM|e#7sOyiqTHrozsj|?4=~?sV)0Vo zm+b4AH~IV{bl5butZ%hSbxv6LMlHn~vOcID6$Y{7YLJy=JDWnYPBp5g(uf?T69Bn& zqvZn{$r9mW2BjpCN|KA}dG`oiu}}NypiKZ2r{x|y)UF%{y_?^!zT0CX8cZ2-fCiAc zfG_E5dEkNz5g*s~!31Rybi0{^SScRisgCvW}m=E9$Mn1a{FcTKzVZh>&npA7-i*BJ&@+XnAWq#iWo zk=mx0d|8BnfUB2~Wo$(?n4lsA)3z2yXiggfGThRmT>%fvR6I|!}<0dx}w**)Fvb&e_0w&u( z#hzt!0I7lqxb{kq*0C6EoVkp8gQlvKj+r=3bQLHju>oWctcK8_7>6yxp@76NY#=2Y zV>mz}G>}S7M(CVA$}TNbN@3>=b@TKJ!l891QDqa?8d5?wp;*R{sOVG*K+>8LA9(sb z5CV}m$+$r<6G#vPU&dtUkm`3(FT7|K<-fbaIwr(pL^@>LHeFQ5a%R1HDl@ zt8%qpQ+r=+?|W_K`1)gBO6|>~rIdGl{+d=b)?(%K253?fbY(=7W5&!fS)z)Wu^g<_ zS5KA?8j)?eq`k;)r8R^xJ8$Koh$f}cFv&vdb6bzk_lYrXmQS4V>LFFdE|j5wjh~?T zkh3|IK7_P8186Xu-U5_@Vb!pJW6x#zyy^rxDXMas`>aPAnDwIN+@K??zJw8e;kf)` zVkJP*0%G0iL{4!{GK%H0ss~b(_qG23ua)qgwn+B8?`Wu`OsDdEB076Xcy7!L<)o-Q zsLCjTku_T?=^3|5D44ZqicQXTScuvpf`tD7hrq=)i3Z^AK*dmnF^H&{z}Q+bYLEb~xl$p{JJu7ouFT8^hgUA$ z%9iS?Nh+?lI(9&!mZQ45axJ0gk(o(DFhlc?45&*?B7h_}ly)iywc0mA6TLtKSOLt6 zCaTMdu0oWo={Z_5b(ptV%pAHYpy4LY(+5nBQlv)VfxM zhZ1yBck$QkBhGlVl-3(Mww+~6ENa@RU~ZaHwxrhm3c7}h4JtyA>Q!U9t(EDo7}sq|yM>CHKqp^FiblTVDhY|k-$IvfOjH7hh^g8)I&FnT z4iABK3`S`#1B;)Xc3x$Kb!BLIN=lSHmcmn-t2zNp#-^Ul1><7D@VR;1K5^3WS$0`1 zEeJPp;k+dZN0hAI;9sR5PCtoU3J|6@LCsdPQ@+cKP&!?Q1OcL-Q3ffS?>XhdG2i0gd%7 zve7~k5|pJhN&ux2EC2%3-K25#%uK!=d1_kL;=x<0RZ5nkR7obPE7aDz&38r+1QHO6 ziA2Rz6)8M}SvKk+<#5~i;>BW(C_HQMjlCOEsQwZz1*;~~lJb<}s#zwgMCm+v+TDq-kp9)2?79ImIJY zAxEn89I2=rD4?ua=U`AE2(H<%j_lD#QIel>M`)aq6cst!6#oDKAh?jv{j!y^5o2h3Tm*zLljUBPC}d&Z9bp zn>d(iq&tBu0VVzzrhRl9vC){H%{u<<# ztk>LXM-I$;d}wg`;;`)o-J+ zkWdyXuFz`9K3S7)eqC*=#2do#2AwGja8*rI3nrJTuH_1+a3x#K?eu$uKaXJ(EFsd< z3d)&-nw3x_q@+^CNHkffBqVMYpMDoRG?Q$$PPpL z+FefZT|B(07$+J0Q|C)LILxrfDC&|O*vTyRsF$T__?LC{Qx6Qwzf8f<%2Z99u!SMD zv}kID@(1qjo}efcMWcikxq`7Q>WbeeBAt-65ZVbgQnJvw$Eyb59x;vDsk!D5mgNJ1 zWcJDslIqe0RF=w;P~PBPQ0$coTo8HF3#WQu5%>bY6Fg){+DIg8QoEK?0q!z`f3!IC$fz8m~Bc8w|A1xWFXM3yD2N}sEUMUQ2fiSKxI|l zbe_KZS32U7ho?zczcifs&%P&7O4VvLQ~n)KMog$w3mn0KiBu{r0RS?flCA~W(Lpk2 zC1ibBNgZKxEr9HxAa7Af_LO+4wy>q^tWV;}o(?amLm|UeR4v6iMu-Q6HQ}a{)X$AnwXWO?HcO> z!W7zanhg0@LqJFYRm)rH8wWIaB;qF~U>H_KqGt+7=B{KW-A5Fw$g$<9k`7#aEw%ZK zK*rKzq*aj;>lJjArwmn-$0TQ*QWR-g1lL2t`;{3CPh>HiA*8qvRX|G0ZlR@nJJLKf z);6~Vd|c)fG;_`zD%yb=oUE+YWYH+9vUO%`Arf}^AYC|@N;Gz2a{zRvk?h*%(`4=j z3Yh*D)=yY%Bsh?6k*&9YN1C-7#r==kDWogZ-B>I+N(U51OOIgC>$xW05!Dt{&$MGr z(-g%y4B8r)gotMr#j0sGK+KUqoRR{`remZUjd1}?;+T%%<^jy#>q6>oN%z;E81y{5 zQfQV)O@IQH?%+H3=^jrN(~~fqJLeOq*6FP#;*FDniBzeP$qyk?Bk*Pm3sgf<$_8HQ z0epZ*Z~+WShpMx!=B+b=MMi?>zr)5c_`hcie<|%LwIwyvGKNv^t$YM<_cN9C6g^E! zQc9vhn5$byFB*}|34y*XBCK;hcCFI^6!mz(1PCBu3kV4IcBh(kmAE~W5NfM9gH>Nm7bxCUOpwCZPv#5FLaEa2=-GEdh!o0#2&k}- zrZ$q8z?cr#+v{NS!WAVtnnRG=j(Z@V3&M2>WX@t7rXh+pF-`(g6ho*9N2lY3h7m}~ z(~q5J29ucx=~OAHHB?!W=We@b`4`R75)njP7@!J*cMu&SAX|^`4kOHxs}WeSmEX^RPxfN?BCa1lXL0P*x!m zO;yYVL>!_A)D0jRhvL#3qK7Rfk0-wB_2jn zarGlgC~Br@7DXtBsZBPRTkOdS^qjzKQ1CKQ3OsH1c$wA+0aY_0ch><9HjIN~6q=i&|MWl)k5NRED zaJ8L~JWu2;C!5UygBgb?DGgr2qI-M>x`-iCoNPpZL`dD%q~sWZzxHmDCB*5eZ3c2& z$xW8&Z_0S4wI1yW;v>0W*s#U0rbR!D?7&{&wND<6D>UrMy&2;a-;@q+n4N{Hj27C0>4#IGUic3j)aO`CLaaH z=GC=^_{p@(KRObGwV0pACYg$Nc%J_NFAj-^uMn1y%(cCg55b{1b8qexzL&4X-thCq z24++;3@Pf0r+9jGqGXR$qU7nfNd#Btppt`e9Y7`Us&ih$r&&X$vyWgHa|kPKupBoW zN#o&rh~9QrX{V=VP=}TZ2Bw0e&waP~R79E7JYiAPg)1t}tnp-O*rpNbH7mtILrlv* zNUE6xxkWKc%S_&*aZF9;Y-mzjH;7G4BB&{8N>xbJ2ua|3{&BlvIJOfe()(yGqztX^ zQ8x($TffV?IcDuN;y83Rq{e%dt(z}f!mA(%d?AvmJegI|(@nB5 zNTOkSbyQSJP#qTnbrC+0DNbt?YENb|$_e(AD4!kCm%vcUu~v(qbx0*n*Fe|@H`sAD z0GmeUh2j_Nj}f$fd_z)H=*3XA3m0%S0L3>-33_@khCm^eZ0xIYd+KT`V?6ukE!J4i z6FQDkAmb3`2p_=QlT(Y#>P~mFRawvGuKc6{mcW6O*v7&B)(LH|XA^0Lf+gKaYFj7> zET9zRBAuSGDpzb(NKwq1sUkHlb5{QV;znpzb=N$L1yL}hz!fAMpo1`WkyQ9wV!aVq z$us`|(xkHDE3QOJy2H#+*va9NVnRWtNBC*Wtx5j?G4EESXe&Wz*YW&KSk5ysG->$D z&tO1EAW;IhqCJpJ)COa6W8ZHY#uF+eq~~DQ85*CvB}Tq}x=A33QIIKRW+LJBf{Fo> zM9j?WQ{{6M@QKb%MXaZm_9&F0Lo0RbLU_}%g({R3s8&kWgM?phS(#m)amQLcWBEk7 zmum&~+-(HZiX^wzQ!Zn~TUWpCUk8aQ8U@h|=pCEyIhQb%MD=Pglmo;iE|4wsh>gT= zjFL0;%C45AVBP9{RjL}QtIe%Ogm0$$TAD`Wk4{}Inx|yrVQ12ir)$~TrL5F51f0hf z8M`Rh=dY(8Hvv_*cXU!Dft(pMPIm`QFgTpzofY+Fd1)$57Sd2cjSgZ~Ku9(<71H*M zqg`rnhSrohowqV(lnjlMGX0f2R!|C@Owx+tGc9vys!a;4 zIXQOiq!gkFp094Z}Zb_

2kS;gUi4EQfNnq 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 XmESEwuwRxTj;#|B`0ij0b;tkNy#W25 diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.cpp b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.cpp deleted file mode 100644 index 1d12d53bd..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.cpp +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" - -#include "MainPage.h" - -using namespace winrt; -using namespace Microsoft::UI::Xaml; - -namespace winrt::SimpleIslandApp::implementation -{ - int32_t MainPage::MyProperty() - { - throw hresult_not_implemented(); - } - - void MainPage::MyProperty(int32_t /* value */) - { - throw hresult_not_implemented(); - } - - void MainPage::ClickHandler(IInspectable const&, RoutedEventArgs const&) - { - Button().Content(box_value(L"Clicked")); - } -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.h b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.h deleted file mode 100644 index 2c1670930..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.h +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once - -#include "MainPage.g.h" - -namespace winrt::SimpleIslandApp::implementation -{ - struct MainPage : MainPageT - { - MainPage() - { - // Xaml objects should not call InitializeComponent during construction. - // See https://github.com/microsoft/cppwinrt/tree/master/nuget#initializecomponent - } - - int32_t MyProperty(); - void MyProperty(int32_t value); - - void ClickHandler(Windows::Foundation::IInspectable const& sender, Microsoft::UI::Xaml::RoutedEventArgs const& args); - }; -} - -namespace winrt::SimpleIslandApp::factory_implementation -{ - struct MainPage : MainPageT - { - }; -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.idl b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.idl deleted file mode 100644 index 715d596d3..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.idl +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -namespace SimpleIslandApp -{ - [default_interface] - runtimeclass MainPage : Microsoft.UI.Xaml.Controls.Page - { - MainPage(); - Int32 MyProperty; - } -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.xaml b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.xaml deleted file mode 100644 index 1957c937d..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/MainPage.xaml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Resource.h b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Resource.h deleted file mode 100644 index bf0402696..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/Resource.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by SimpleIslandApp.rc - -#define IDS_APP_TITLE 103 - -#define IDR_MAINFRAME 128 -#define IDD_SIMPLEISLANDAPP_DIALOG 102 -#define IDD_ABOUTBOX 103 -#define IDM_ABOUT 104 -#define IDM_EXIT 105 -#define IDI_SIMPLEISLANDAPP 107 -#define IDI_SMALL 108 -#define IDC_SIMPLEISLANDAPP 109 -#define IDC_MYICON 2 -#ifndef IDC_STATIC -#define IDC_STATIC -1 -#endif -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS - -#define _APS_NO_MFC 130 -#define _APS_NEXT_RESOURCE_VALUE 129 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 110 -#endif -#endif diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.cpp b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.cpp deleted file mode 100644 index d3a0ec955..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.cpp +++ /dev/null @@ -1,357 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. - -// SimpleIslandApp.cpp : Defines the entry point for the application. - -#include "pch.h" -#include "SimpleIslandApp.h" - -#include -#include -#include // For ContentPreTranslateMessage - -namespace winrt -{ - using namespace winrt::Microsoft::UI; - using namespace winrt::Microsoft::UI::Dispatching; - using namespace winrt::Microsoft::UI::Xaml; - using namespace winrt::Microsoft::UI::Xaml::Hosting; - using namespace winrt::Microsoft::UI::Xaml::Markup; -} - -// Forward declarations of functions included in this code module: -void MyRegisterClass(HINSTANCE hInstance, const wchar_t* szWindowClass); -HWND InitInstance(HINSTANCE, int, const wchar_t* szTitle, const wchar_t* szWindowClass); -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); -INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); -bool ProcessMessageForTabNavigation(const HWND topLevelWindow, MSG* msg); - -// Extra state for our top-level window, we point to from GWLP_USERDATA. -struct WindowInfo -{ - winrt::DesktopWindowXamlSource DesktopWindowXamlSource{ nullptr }; - winrt::event_token TakeFocusRequestedToken{}; - HWND LastFocusedWindow{ NULL }; -}; - -int APIENTRY wWinMain(_In_ HINSTANCE hInstance, - _In_opt_ HINSTANCE hPrevInstance, - _In_ LPWSTR lpCmdLine, - _In_ int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - try - { - // Island-support: Call init_apartment to initialize COM and WinRT for the thread. - winrt::init_apartment(winrt::apartment_type::single_threaded); - - // Island-support: We must start a DispatcherQueueController before we can create an island or use Xaml. - auto dispatcherQueueController{ winrt::DispatcherQueueController::CreateOnCurrentThread() }; - - // Island-support: Create our custom Xaml App object. This is needed to properly use the controls and metadata - // in Microsoft.ui.xaml.controls.dll. - auto simpleIslandApp{ winrt::make() }; - - // The title bar text - WCHAR szTitle[100]; - winrt::check_bool(LoadStringW(hInstance, IDS_APP_TITLE, szTitle, ARRAYSIZE(szTitle)) != 0); - - // The main window class name - WCHAR szWindowClass[100]; - winrt::check_bool(LoadStringW(hInstance, IDC_SIMPLEISLANDAPP, szWindowClass, ARRAYSIZE(szWindowClass)) != 0); - - MyRegisterClass(hInstance, szWindowClass); - - // Perform application initialization: - HWND topLevelWindow = InitInstance(hInstance, nCmdShow, szTitle, szWindowClass); - - HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_SIMPLEISLANDAPP)); - - MSG msg{}; - - // Main message loop: - while (GetMessage(&msg, nullptr, 0, 0)) - { - // Island-support: It's important to call ContentPreTranslateMessage in the event loop so that WinAppSDK can be aware of - // the messages. If you don't need to use an accelerator table, you could just call DispatcherQueue.RunEventLoop - // to do the message pump for you (it will call ContentPreTranslateMessage automatically). - if (::ContentPreTranslateMessage(&msg)) - { - continue; - } - - if (TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - continue; - } - - // Island-support: This is needed so that the user can correctly tab and shift+tab into islands. - if (ProcessMessageForTabNavigation(topLevelWindow, &msg)) - { - continue; - } - - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - // Island-support: To properly shut down after using a DispatcherQueue, call ShutdownQueue[Aysnc](). - dispatcherQueueController.ShutdownQueue(); - } - catch (const winrt::hresult_error& exception) - { - // An exception was thrown, let's make the exit code the HR value of the exception. - return exception.code().value; - } - - return 0; -} - -// Returns "true" if the function handled the message and it shouldn't be processed any further. -// Intended to be called from the main message loop. -bool ProcessMessageForTabNavigation(const HWND topLevelWindow, MSG* msg) -{ - if (msg->message == WM_KEYDOWN && msg->wParam == VK_TAB) - { - // The user is pressing the "tab" key. We want to handle this ourselves so we can pass information into Xaml - // about the tab navigation. Specifically, we need to tell Xaml whether this is a forward tab, or a backward - // shift+tab, so Xaml will know whether to put focus on the first Xaml element in the island or the last - // Xaml element. (This is done in the call to DesktopWindowXamlSource.NavigateFocus()). - const HWND currentFocusedWindow = ::GetFocus(); - if (::GetAncestor(currentFocusedWindow, GA_ROOT) != topLevelWindow) - { - // This is a window outside of our top-level window, let the system process it. - return false; - } - - const bool isShiftKeyDown = ((HIWORD(::GetKeyState(VK_SHIFT)) & 0x8000) != 0); - const HWND nextFocusedWindow = ::GetNextDlgTabItem(topLevelWindow, currentFocusedWindow, isShiftKeyDown /*bPrevious*/); - - WindowInfo* windowInfo = reinterpret_cast(::GetWindowLongPtr(topLevelWindow, GWLP_USERDATA)); - const HWND dwxsWindow = winrt::GetWindowFromWindowId(windowInfo->DesktopWindowXamlSource.SiteBridge().WindowId()); - if (dwxsWindow == nextFocusedWindow) - { - // Focus is moving to our DesktopWindowXamlSource. Instead of just calling SetFocus on it, we call NavigateFocus(), - // which allows us to tell Xaml which direction the keyboard focus is moving. - // If your app has multiple DesktopWindowXamlSources in the window, you'll want to loop over them and check to - // see if focus is moving to each one. - winrt::XamlSourceFocusNavigationRequest request{ - isShiftKeyDown ? - winrt::XamlSourceFocusNavigationReason::Last : - winrt::XamlSourceFocusNavigationReason::First }; - - windowInfo->DesktopWindowXamlSource.NavigateFocus(request); - return true; - } - - // Focus isn't moving to our DesktopWindowXamlSource. IsDialogMessage will automatically do the tab navigation - // for us for this msg. - const bool handled = (::IsDialogMessage(topLevelWindow, msg) == TRUE); - return handled; - } - return false; -} - -// -// FUNCTION: MyRegisterClass() -// -// PURPOSE: Registers the window class. -// -void MyRegisterClass(HINSTANCE hInstance, const wchar_t* szWindowClass) -{ - WNDCLASSEXW wcex; - - wcex.cbSize = sizeof(WNDCLASSEX); - - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SIMPLEISLANDAPP)); - wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); - wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); - wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_SIMPLEISLANDAPP); - wcex.lpszClassName = szWindowClass; - wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); - - winrt::check_bool(RegisterClassExW(&wcex) != 0); -} - -// -// FUNCTION: InitInstance(HINSTANCE, int) -// -// PURPOSE: Saves instance handle and creates main window -// -// COMMENTS: -// -// In this function, we save the instance handle in a global variable and -// create and display the main program window. -// -HWND InitInstance(HINSTANCE /*hInstance*/, int nCmdShow, const wchar_t* szTitle, const wchar_t* szWindowClass) -{ - HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, ::GetModuleHandle(NULL), nullptr); - winrt::check_bool(hWnd != NULL); - if(!hWnd) - { - throw E_HANDLE; - } - ShowWindow(hWnd, nCmdShow); - UpdateWindow(hWnd); - return hWnd; -} - -// -// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) -// -// PURPOSE: Processes messages for the main window. -// -// WM_COMMAND - process the application menu -// WM_PAINT - Paint the main window -// WM_DESTROY - post a quit message and return -// -// -LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - WindowInfo* windowInfo = reinterpret_cast(::GetWindowLongPtr(hWnd, GWLP_USERDATA)); - - switch (message) - { - case WM_CREATE: - { - windowInfo = new WindowInfo(); - ::SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast(windowInfo)); - - const HINSTANCE hInst = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); - ::CreateWindow(L"BUTTON", L"Win32 Button 1", WS_TABSTOP | WS_VISIBLE | WS_CHILD, 10, 10, 150, 40, hWnd, (HMENU)501, hInst, NULL); - - // Create our DesktopWindowXamlSource and attach it to our hwnd. This is our "island". - windowInfo->DesktopWindowXamlSource = winrt::DesktopWindowXamlSource{}; - windowInfo->DesktopWindowXamlSource.Initialize(winrt::GetWindowIdFromWindow(hWnd)); - - // Enable the DesktopWindowXamlSource to be a tab stop. - ::SetWindowLong( - winrt::GetWindowFromWindowId(windowInfo->DesktopWindowXamlSource.SiteBridge().WindowId()), - GWL_STYLE, - WS_TABSTOP | WS_CHILD | WS_VISIBLE); - - // Put a new instance of our Xaml "MainPage" into our island. This is our UI content. - windowInfo->DesktopWindowXamlSource.Content(winrt::make()); - - ::CreateWindow(L"BUTTON", L"Win32 Button 2", WS_TABSTOP | WS_VISIBLE | WS_CHILD, 10, 400, 150, 40, hWnd, (HMENU)502, hInst, NULL); - - // Subscribe to the TakeFocusRequested event, which will be raised when Xaml wants to move keyboard focus back to our window. - windowInfo->TakeFocusRequestedToken = windowInfo->DesktopWindowXamlSource.TakeFocusRequested( - [hWnd](winrt::DesktopWindowXamlSource const& /*sender*/, winrt::DesktopWindowXamlSourceTakeFocusRequestedEventArgs const& args) { - if (args.Request().Reason() == winrt::XamlSourceFocusNavigationReason::First) - { - // The reason "First" means the user is tabbing forward, so put the focus on the button in the tab order - // after the DesktopWindowXamlSource. - ::SetFocus(::GetDlgItem(hWnd, 502)); - } - else if (args.Request().Reason() == winrt::XamlSourceFocusNavigationReason::Last) - { - // The reason "Last" means the user is tabbing backward (shift-tab, so put the focus on button prior to - // the DesktopWindowXamlSource. - ::SetFocus(::GetDlgItem(hWnd, 501)); - } - }); - } - break; - case WM_SIZE: - { - const int width = LOWORD(lParam); - const int height = HIWORD(lParam); - - ::SetWindowPos(::GetDlgItem(hWnd, 501), NULL, 10, 10, 150, 40, SWP_NOZORDER); - ::SetWindowPos(::GetDlgItem(hWnd, 502), NULL, 10, height - 50, 150, 40, SWP_NOZORDER); - - if (windowInfo->DesktopWindowXamlSource) - { - windowInfo->DesktopWindowXamlSource.SiteBridge().MoveAndResize({ 10, 60, width - 20, height - 120 }); - } - } - break; - case WM_ACTIVATE: - { - // Make focus work nicely when the user presses alt+tab to activate a different window, and then alt+tab - // again to come back to this window. We want the focus to go back to the same child HWND that was focused - // before. - const bool isGettingDeactivated = (LOWORD(wParam) == WA_INACTIVE); - if (isGettingDeactivated) - { - // Remember the HWND that had focus. - windowInfo->LastFocusedWindow = ::GetFocus(); - } - else if (windowInfo->LastFocusedWindow != NULL) - { - ::SetFocus(windowInfo->LastFocusedWindow); - } - } - break; - case WM_COMMAND: - { - int wmId = LOWORD(wParam); - // Parse the menu selections: - switch (wmId) - { - case IDM_ABOUT: - DialogBox(::GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); - break; - case IDM_EXIT: - DestroyWindow(hWnd); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - } - break; - case WM_PAINT: - { - PAINTSTRUCT ps; - HDC hdc = BeginPaint(hWnd, &ps); - // TODO: Add any drawing code that uses hdc here... - UNREFERENCED_PARAMETER(hdc); - EndPaint(hWnd, &ps); - } - break; - case WM_DESTROY: - PostQuitMessage(0); - break; - case WM_NCDESTROY: - if (windowInfo->DesktopWindowXamlSource && windowInfo->TakeFocusRequestedToken.value != 0) - { - windowInfo->DesktopWindowXamlSource.TakeFocusRequested(windowInfo->TakeFocusRequestedToken); - windowInfo->TakeFocusRequestedToken = {}; - } - delete windowInfo; - ::SetWindowLong(hWnd, GWLP_USERDATA, NULL); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - return 0; -} - -// Message handler for about box. -INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) -{ - UNREFERENCED_PARAMETER(lParam); - switch (message) - { - case WM_INITDIALOG: - return (INT_PTR)TRUE; - - case WM_COMMAND: - if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) - { - EndDialog(hDlg, LOWORD(wParam)); - return (INT_PTR)TRUE; - } - break; - } - return (INT_PTR)FALSE; -} diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.h b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.h deleted file mode 100644 index 385a70ac3..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once - -#include "resource.h" diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.ico b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.ico deleted file mode 100644 index b3ec03bd617f32e58128fa977fd6ac9605124f4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46227 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 - - - - - - - Debug - ARM64 - - - Debug - Win32 - - - Release - ARM64 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {350a5ec2-b156-4aaf-9d80-a864c76ba0c5} - SimpleIslandApp - - Windows Store - - 10.0.17763.0 - 10.0 - - None - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use - pch.h - $(IntDir)pch.pch - - - user32.lib;%(AdditionalDependencies) - Microsoft.UI.Windowing.Core.dll - - - - - Level4 - true - true - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level4 - true - true - true - true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - Level4 - true - true - _DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level4 - true - true - _DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - - - - - Level4 - true - true - true - true - NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - Level4 - true - true - true - true - NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - Windows - true - true - true - - - - - - App.xaml - Code - - - MainPage.xaml - Code - - - - - - - - Create - - - App.xaml - Code - - - MainPage.xaml - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - App.xaml - Code - - - MainPage.xaml - Code - - - - - Designer - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - \ No newline at end of file diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj.filters b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj.filters deleted file mode 100644 index 91bb6829a..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/SimpleIslandApp.vcxproj.filters +++ /dev/null @@ -1,79 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - Resource Files - - - - - - - - - - - - \ No newline at end of file diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config deleted file mode 100644 index 70abba936..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.cpp b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.cpp deleted file mode 100644 index b7f2ce9c0..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.cpp +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#include "pch.h" diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.h b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.h deleted file mode 100644 index bddf181e6..000000000 --- a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/pch.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. -#pragma once - -#include "targetver.h" -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -// Windows Header Files -#include - -// This tells App.xaml.g.hpp the app will define its own WinMain -#define DISABLE_XAML_GENERATED_MAIN - -// There's an API named GetCurrentTime in the Storyboard type. -#undef GetCurrentTime - -// Com and WinRT headers -#include - -// Some generated files, like MainPage.xaml.g.h need files such as Microsoft.UI.Xaml.Markup.h -// to already be included. Let's just include a bunch of stuff we know we'll need here in the PCH. -#include -#include -#include -#include -#include -#include -#include -#include diff --git a/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/small.ico b/Samples/Islands/SimpleIslandApp/cpp-win32-unpackaged/small.ico deleted file mode 100644 index b3ec03bd617f32e58128fa977fd6ac9605124f4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46227 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 diff --git a/Samples/Islands/UXFrameworksOnIslands/Assets/LockScreenLogo.scale-200.png b/Samples/Islands/UXFrameworksOnIslands/Assets/LockScreenLogo.scale-200.png deleted file mode 100644 index 7440f0d4bf7c7e26e4e36328738c68e624ee851e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezr3(FqV6|IEGZ*x-#9g>~Mkr+x6^F zy~CDX2QIMs&Gcs3RnRBoxBA!*(Mfw0KTCYuYk0WlEIV>qBmPl! zq4ukrvfADX@#p8fbLY(H47N+k`FZ(FZh?cDro7>{8mkBO3>^oaIx`3!Jl)Qq)HI!+ z(S=1{o~eT)&W^=Ea8C`-17(Jv5(nHFJ{dOjGdxLVkY_y6&S1whfuFI4MM0kF0f&cO zPDVpV%nz;Id$>+0Ga5e9625-JcI)oq=#Pa3p^>8BB}21BUw@eN!-6@w%X+^`+Vn?! zryu|3T>kVWNBYyBc=7Y6H#s1Ah!OI_nezW zXTqOdkv2Az6KKBV=$yHdF^R3Fqw(TZEoNSZX>reXJ#bwX42%f|Pgg&ebxsLQ010xn AssI20 diff --git a/Samples/Islands/UXFrameworksOnIslands/Assets/SplashScreen.scale-200.png b/Samples/Islands/UXFrameworksOnIslands/Assets/SplashScreen.scale-200.png deleted file mode 100644 index 32f486a86792a5e34cd9a8261b394c49b48f86be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5372 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 diff --git a/Samples/Islands/UXFrameworksOnIslands/Assets/Square44x44Logo.scale-200.png b/Samples/Islands/UXFrameworksOnIslands/Assets/Square44x44Logo.scale-200.png deleted file mode 100644 index f713bba67f551ef91020b75716a4dc8ebd744b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFu8cTIEGZ*dUI*J;2{SImxtDO zm%3!R$UazoY}x{$j0P5ABYXWr(l=jxJ6ps1W{tV=^>{Dl><3nv3A}sm=EZ)#l3`NR zpZda3^rNox*D1%NC98Z~L*6zipLw~Gxn&(Y-;KmJ+aR6eLabU-L#y8HW%7P-E_-VlLqIabbHPHKT*)fT@9iWJ7iWgOT9%0}Lrj>lztPxWq6sPw3pi z#-<=#$jjrP_DD*i!RLsn0mIA=>4~N)IMYWIf=j%-zuKCdMG%tHYot70D1| zvWa0wMhauW#S>1CnI_;>!1Q3zMA17@DOVq{MQ+{U7^a&yA+%dMCG;WNPV0i;w$tu; zX^b}UKziPM)(<;)ruW;-`)bBN+rQNM*Zs_>?n$|FVFo-e*PZb*@U7VAd+tHb4e?=Blc~}S6K)wL}r*Gf`BM#QB z+y>N$mCswb4d{^{S9v_!eQj4fTRMOwOCi?lSk9%<=vAz}jM-*PQtH@Odn1LZcd^j#o> hW$4xn+CT+ep9lJ{OAO?njobhL002ovPDHLkV1nYebbkN< diff --git a/Samples/Islands/UXFrameworksOnIslands/Assets/StoreLogo.png b/Samples/Islands/UXFrameworksOnIslands/Assets/StoreLogo.png deleted file mode 100644 index a4586f26bdf7841cad10f39cdffe2aca3af252c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2o;fF!p=8IEGZ*dUM0H=rDtTTVkd2 z(%lbKn@VS_lUaADVB&;Z6F#LM+mPsa?e>FnHo;HND^!P`-lX%BH~FOg%y&x+t*x!? zg$#_1A1kgsSvO(fw`bOmo;lrJX8byO1j^gf7qohR%mmt z@L)WX;>gqgK|tWJvQ5j;4;=gt4HXVKSMYRv5RhY5vS~TqfK_NAP*r{h!!g^BZ;w4r z7CGdsai)y;fJQc`7{Zc2b==h%o`Op$|bg6a&nL{*m7-=0>k4M4-PXlU;G-?%*(*g>iFt^ U$m#7DfHB12>FVdQ&MBb@0G`#n8vpc0sq%A~kJcD9FY~qQRMt?ZR3YyDZt}Od;|mgpc{2dv9AHF){kXU%k({ z=Y8JidEayHTkG@twPZ|U3_^%3ct-OgLSiFAqDN!|tbCX@c@?4P`2x*TMK!+Q4b?k0 ziW7!!KF6dPWcF<%I|iznM~`QJ_V7sHGV_D`dhgpA9Vd@&X}ErK+j~_rdv;Bp?OA@a zFXOk7eWOJe5NcK;6h$FaM&7JxNc#-@QTwzW6x#d_zmQNkz5) zPI;kh;3d;5UCJU+9a(cOxX(|edWoOiAEdGU#kPJ&xnc2||3vDbuhBCkj-pb0as$Zl z5;}4n=**n6(1g`JEtSy;SG6X;#-F~Oz3lESG2b5`j@wAwY4Yp<=4Xeb>iH=6aicF?DxD&q{`!&}ct zBI)aycwuobQAf&678Uf+Mmh-@9RUhyH~>?w0dixO0#jZjEc9R^=5NZw=|a(kcB?9^ zfnTiEFXp-q#B;Tn>(O%$A*ud^Rg&eVH6Y_5Y%!E39RR&s?XpG`gKwU!6FE1 z7X)DC7)*(5g}lh`4`{i~DZcWupZI`K)_4P)VE{@gc7@Xsd^86zl~_mOYH?I4!aGeX z^E(_=L6?PgveDQ+r%P@UISEXrkn`LHJZ##+!-anV>6h)IkKp;E@p8+3&(5%kS2)ld*J*rJccZM0iyaAx7+F~GW1UWFK&3X$PE1^}NH zgAG9ck5K!{07OwU@j@Do>TbH=CDEo#4m0cEyAuXy_<&jlzJVcKweSJ5 z&=q~iIn18$w8yb=rmEmHxVEUA^?RwnB?6Qlp1os8@*dWTGL2bhzZ!s*xqScR?EPL` zo(JwNdKUUYy7GtvZ3asXm)cgFvCx9EmAi;|w=a0iGiv%%VYKh`P0Wma4y`Xyx|T~( zAmfGbgbEEC7)j8b@WA@+5W3a61HJXC1dX@6_T|Czk0I0zBk%tnW~()VWITGI!`$c< gARL?UBrYYkwoDw4eo*CrzXGTrZ@;GF>596)00d&n@&Et; diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationBase.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationBase.cpp deleted file mode 100644 index 0637f5766..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationBase.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationBase.h" - -namespace AutomationHelpers -{ - -void AutomationBase::RemoveHandler( - IAutomationCallbackHandler const* const handler) -{ - std::unique_lock lock{ m_mutex }; - - auto iterator = std::remove_if( - m_handlers.begin(), m_handlers.end(), [handler](auto const& handlerEntry) - { - return handlerEntry.Match(handler); - }); - - m_handlers.erase(iterator, m_handlers.end()); -} - -void AutomationBase::AddHandler( - AutomationCallbackHandlerType const& type, - IAutomationCallbackHandler* const handler) -{ - // Remove any existing handler of the same type. - auto iterator = std::remove_if( - m_handlers.begin(), m_handlers.end(), [type](auto const& handlerEntry) - { - return handlerEntry.Match(type); - }); - - m_handlers.erase(iterator, m_handlers.end()); - - if (nullptr != handler) - { - m_handlers.emplace_back(AutomationCallbackHandlerEntry{ type, handler }); - } -} - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationBase.h b/Samples/Islands/UXFrameworksOnIslands/AutomationBase.h deleted file mode 100644 index 1869d7655..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationBase.h +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "AutomationCallbackHandler.h" - -namespace AutomationHelpers -{ - -struct AutomationBase : winrt::implements -{ - [[nodiscard]] winrt::weak_ref GetWeak() const noexcept - { - try - { - return const_cast(this)->get_weak(); - } - catch (...) {} - return nullptr; - } - - template - [[nodiscard]] inline static winrt::com_ptr LockWeak( - winrt::weak_ref const& weakRef) noexcept - { - static_assert(std::is_base_of_v); - - try - { - if (nullptr != weakRef) - { - winrt::com_ptr weakRefGet = weakRef.get(); - if (nullptr != weakRefGet) - { - winrt::com_ptr strongRef{ nullptr }; - strongRef.copy_from(static_cast(weakRefGet.get())); - return strongRef; - } - } - } - catch (...) {} - return nullptr; - } - - template - [[nodiscard]] winrt::com_ptr GetStrong() const noexcept - { - static_assert(std::is_base_of_v); - - try - { - return static_cast(const_cast(this))->get_strong(); - } - catch (...) {} - return nullptr; - } - - template - [[nodiscard]] IUnknown* GetIUnknown() const noexcept - { - static_assert(std::is_base_of_v); - - try - { - return GetStrong().as().get(); - } - catch (...) {} - return nullptr; - } - - void RemoveHandler( - IAutomationCallbackHandler const* const handler); - -protected: - void AddHandler( - AutomationCallbackHandlerType const& type, - IAutomationCallbackHandler* const handler); - - template - [[nodiscard]] HandlerT* GetHandler( - AutomationCallbackHandlerType const& type) const - { - static_assert(std::is_base_of_v); - - auto iterator = std::find_if( - m_handlers.cbegin(), m_handlers.cend(), [&type](auto const& handlerEntry) - { - return handlerEntry.Match(type); - }); - - return (m_handlers.cend() != iterator) ? iterator->Get() : nullptr; - } - - mutable std::mutex m_mutex{}; - -private: - // Guard via m_mutex when accessing the following data members from all methods - // that can be called from outside the AutomationHelpers namespace. - std::vector m_handlers{}; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackHandler.h b/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackHandler.h deleted file mode 100644 index 8b78c42f9..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackHandler.h +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include -#include -#include - -namespace AutomationHelpers -{ - -enum class AutomationCallbackHandlerType : unsigned char -{ - None, - Fragment, - FragmentRoot, - Invoke, - ExternalChild, - ExternalParent -}; - -struct IAutomationCallbackHandler -{ - virtual ~IAutomationCallbackHandler() noexcept = default; -}; - -struct IAutomationFragmentCallbackHandler : IAutomationCallbackHandler -{ - virtual winrt::Windows::Graphics::RectInt32 GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const = 0; - - virtual void HandleSetFocusForAutomation( - ::IUnknown const* const sender) = 0; -}; - -struct IAutomationFragmentRootCallbackHandler : IAutomationCallbackHandler -{ - virtual winrt::com_ptr<::IRawElementProviderFragment> GetFragmentFromPointInScreenCoordinatesForAutomation( - double x, - double y, - ::IUnknown const* const sender) const = 0; - - virtual winrt::com_ptr<::IRawElementProviderFragment> GetFragmentInFocusForAutomation( - ::IUnknown const* const sender) const = 0; -}; - -struct IAutomationInvokeCallbackHandler : IAutomationCallbackHandler -{ - virtual void HandleInvokeForAutomation( - ::IUnknown const* const sender) = 0; -}; - -struct IAutomationExternalChildCallbackHandler : IAutomationCallbackHandler -{ - virtual winrt::com_ptr<::IRawElementProviderFragment> GetFirstChildFragmentForAutomation( - ::IUnknown const* const sender) const = 0; - - virtual winrt::com_ptr<::IRawElementProviderFragment> GetLastChildFragmentForAutomation( - ::IUnknown const* const sender) const = 0; -}; - -struct IAutomationExternalParentCallbackHandler : IAutomationCallbackHandler -{ - virtual winrt::com_ptr<::IRawElementProviderFragment> GetParentFragmentForAutomation( - ::IUnknown const* const sender) const = 0; - - virtual winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingFragmentForAutomation( - ::IUnknown const* const sender) const = 0; - - virtual winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingFragmentForAutomation( - ::IUnknown const* const sender) const = 0; - - virtual winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootForAutomation( - ::IUnknown const* const sender) const = 0; -}; - -struct AutomationCallbackHandlerEntry -{ - explicit AutomationCallbackHandlerEntry( - AutomationCallbackHandlerType const& type, - IAutomationCallbackHandler* const handler) : - _type{ type }, _handler{ handler } {} - - bool Match( - AutomationCallbackHandlerType const& type) const - { - return type == _type; - } - - bool Match( - IAutomationCallbackHandler const* const handler) const - { - return handler == _handler; - } - - template - DerivedT* Get() const - { - static_assert(std::is_base_of_v); - return static_cast(_handler); - } - -private: - AutomationCallbackHandlerType _type{ AutomationCallbackHandlerType::None }; - IAutomationCallbackHandler* _handler{ nullptr }; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackRevoker.h b/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackRevoker.h deleted file mode 100644 index d80a79122..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationCallbackRevoker.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "AutomationBase.h" - -namespace AutomationHelpers -{ - -struct AutomationCallbackRevoker -{ - [[nodiscard]] static std::unique_ptr Create( - winrt::weak_ref const& automationObject, - IAutomationCallbackHandler* const handler) noexcept - { - try - { - auto newRevoker = std::make_unique(); - newRevoker->Initialize(automationObject, handler); - return newRevoker; - } - catch (...) {} - return nullptr; - } - - explicit AutomationCallbackRevoker() noexcept = default; - - ~AutomationCallbackRevoker() noexcept - { - if (auto strongAutomationObject = _automationObject.get()) - { - if (nullptr != _handler) - { - strongAutomationObject->RemoveHandler(_handler); - } - } - } - - // Disable move and copy. - explicit AutomationCallbackRevoker(AutomationCallbackRevoker const&) = delete; - explicit AutomationCallbackRevoker(AutomationCallbackRevoker&&) = delete; - AutomationCallbackRevoker& operator=(AutomationCallbackRevoker const&) = delete; - AutomationCallbackRevoker& operator=(AutomationCallbackRevoker&&) = delete; - -private: - void Initialize( - winrt::weak_ref const& automationObject, - IAutomationCallbackHandler* const handler) - { - _automationObject = automationObject; - _handler = handler; - } - - winrt::weak_ref _automationObject{ nullptr }; - IAutomationCallbackHandler* _handler{ nullptr }; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationElement.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationElement.cpp deleted file mode 100644 index 19d80a9f1..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationElement.cpp +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationElement.h" - -namespace AutomationHelpers -{ - -HRESULT __stdcall AutomationElement::get_ProviderOptions( - _Out_ ::ProviderOptions* providerOptions) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != providerOptions) - { - *providerOptions = m_providerOptions; - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationElement::GetPatternProvider( - _In_ PATTERNID patternId, - _COM_Outptr_opt_result_maybenull_ ::IUnknown** patternProvider) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != patternProvider) - { - *patternProvider = nullptr; - switch (patternId) - { - case UIA_InvokePatternId: - { - if (auto invokeProvider = get_strong().try_as<::IInvokeProvider>()) - { - invokeProvider.as<::IUnknown>().copy_to(patternProvider); - } - break; - } - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationElement::GetPropertyValue( - _In_ PROPERTYID propertyId, - _Out_ VARIANT* propertyValue) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != propertyValue) - { - ::VariantInit(propertyValue); - switch (propertyId) - { - case UIA_NamePropertyId: - { - propertyValue->bstrVal = wil::make_bstr(m_name.c_str()).release(); - propertyValue->vt = VT_BSTR; - break; - } - - case UIA_IsContentElementPropertyId: - { - propertyValue->boolVal = m_isContent ? VARIANT_TRUE : VARIANT_FALSE; - propertyValue->vt = VT_BOOL; - break; - } - - case UIA_IsControlElementPropertyId: - { - propertyValue->boolVal = m_isControl ? VARIANT_TRUE : VARIANT_FALSE; - propertyValue->vt = VT_BOOL; - break; - } - - case UIA_ControlTypePropertyId: - { - if (m_isControl) - { - propertyValue->vt = VT_I4; - propertyValue->lVal = m_uiaControlTypeId; - } - break; - } - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationElement::get_HostRawElementProvider( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderSimple** hostRawElementProviderSimple) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != hostRawElementProviderSimple) - { - m_hostProvider.copy_to(hostRawElementProviderSimple); - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationElement.h b/Samples/Islands/UXFrameworksOnIslands/AutomationElement.h deleted file mode 100644 index 5de840ab8..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationElement.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "AutomationBase.h" - -namespace AutomationHelpers -{ - -struct AutomationElement : winrt::implements -{ - // Settable properties. - void AutomationProviderOptions(::ProviderOptions const& providerOptions) { std::unique_lock lock{ m_mutex }; m_providerOptions = providerOptions; } - void Name(std::wstring_view const& name) { std::unique_lock lock{ m_mutex }; m_name = name; } - void IsContent(bool const& isContent) { std::unique_lock lock{ m_mutex }; m_isContent = isContent; } - void IsControl(bool const& isControl) { std::unique_lock lock{ m_mutex }; m_isControl = isControl; } - void UiaControlTypeId(long const& uiaControlTypeId) { std::unique_lock lock{ m_mutex }; m_uiaControlTypeId = uiaControlTypeId; } - void HostProvider(winrt::com_ptr<::IRawElementProviderSimple> const& hostProvider) { std::unique_lock lock{ m_mutex }; m_hostProvider = hostProvider; } - void HostProviderFromHwnd(HWND const& hwnd) { std::unique_lock lock{ m_mutex }; winrt::check_hresult(::UiaHostProviderFromHwnd(hwnd, m_hostProvider.put())); } - - // IRawElementProviderSimple implementation. - HRESULT __stdcall get_ProviderOptions( - _Out_ ::ProviderOptions* providerOptions) final override; - - HRESULT __stdcall GetPatternProvider( - _In_ PATTERNID patternId, - _COM_Outptr_opt_result_maybenull_ ::IUnknown** patternProvider) final override; - - HRESULT __stdcall GetPropertyValue( - _In_ PROPERTYID propertyId, - _Out_ VARIANT* propertyValue) final override; - - HRESULT __stdcall get_HostRawElementProvider( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderSimple** hostRawElementProviderSimple) final override; - -private: - // Guard via m_mutex when accessing the following data members from all methods - // that can be called from outside the AutomationHelpers namespace. - ::ProviderOptions m_providerOptions{ ProviderOptions_ServerSideProvider | ProviderOptions_UseComThreading }; - std::wstring m_name{ L"" }; - bool m_isContent{ true }; - bool m_isControl{ true }; - long m_uiaControlTypeId{ UIA_CustomControlTypeId }; - winrt::com_ptr<::IRawElementProviderSimple> m_hostProvider{ nullptr }; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.cpp deleted file mode 100644 index 809946cae..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.cpp +++ /dev/null @@ -1,356 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationFragment.h" -#include - -using unique_safearray = wil::unique_any; - -namespace AutomationHelpers -{ - -std::unique_ptr AutomationFragment::SetFragmentCallbackHandler( - IAutomationFragmentCallbackHandler* const handler) -{ - AddHandler(AutomationCallbackHandlerType::Fragment, handler); - return AutomationCallbackRevoker::Create(GetWeak(), handler); -} - -std::unique_ptr AutomationFragment::SetExternalChildCallbackHandler( - IAutomationExternalChildCallbackHandler* const handler) -{ - AddHandler(AutomationCallbackHandlerType::ExternalChild, handler); - return AutomationCallbackRevoker::Create(GetWeak(), handler); -} - -std::unique_ptr AutomationFragment::SetExternalParentCallbackHandler( - IAutomationExternalParentCallbackHandler* const handler) -{ - AddHandler(AutomationCallbackHandlerType::ExternalParent, handler); - return AutomationCallbackRevoker::Create(GetWeak(), handler); -} - -void AutomationFragment::AddChildToEnd( - winrt::com_ptr const& child) -{ - std::unique_lock lock{ m_mutex }; - - if (nullptr == child) - { - // Nothing to do. - return; - } - - // The child should not already have a parent. - winrt::check_bool(nullptr == child->Parent()); - - // Set us up as the parent for the new child. - child->Parent(GetWeak()); - - // Set up the sibling relationships. - if (!m_children.empty()) - { - auto& previousSiblingForNewChild = m_children.back(); - previousSiblingForNewChild->NextSibling(child); - child->PreviousSibling(previousSiblingForNewChild); - } - - // Finally add the child. - m_children.push_back(child); -} - -void AutomationFragment::RemoveChild( - winrt::com_ptr const& child) -{ - std::unique_lock lock{ m_mutex }; - - if (nullptr == child) - { - // Nothing to do. - return; - } - - auto iterator = std::find_if( - m_children.begin(), m_children.end(), [&child](auto const& childEntry) - { - // See if we find a matching child entry in our children. - return (childEntry.template as<::IUnknown>().get() == child.as<::IUnknown>().get()); - }); - - // We cannot remove a child that isn't ours. - winrt::check_bool(m_children.end() != iterator); - - // Remove us from the parent relationship with the child. - child->Parent(nullptr); - - // Reset the sibling relationships. - auto previousSibling = child->PreviousSibling(); - auto nextSibling = child->NextSibling(); - if (nullptr != previousSibling) - { - previousSibling->NextSibling(nextSibling); - } - if (nullptr != nextSibling) - { - nextSibling->PreviousSibling(previousSibling); - } - child->PreviousSibling(nullptr); - child->NextSibling(nullptr); - - // Finally, remove the child. - m_children.erase(iterator); -} - -void AutomationFragment::RemoveAllChildren() -{ - std::unique_lock lock{ m_mutex }; - - for (auto& child : m_children) - { - // Disconnect the relationships from all our children. - child->Parent(nullptr); - child->PreviousSibling(nullptr); - child->NextSibling(nullptr); - } - - // Remove all the children. - m_children.clear(); -} - -HRESULT __stdcall AutomationFragment::Navigate( - _In_ NavigateDirection direction, - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragment) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != fragment) - { - *fragment = nullptr; - switch (direction) - { - case NavigateDirection_Parent: - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalParent)) - { - handler->GetParentFragmentForAutomation(GetIUnknown()).copy_to(fragment); - } - else if (auto strongParent = LockWeak(m_parent)) - { - strongParent.as<::IRawElementProviderFragment>().copy_to(fragment); - } - break; - } - case NavigateDirection_NextSibling: - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalParent)) - { - handler->GetNextSiblingFragmentForAutomation(GetIUnknown()).copy_to(fragment); - } - else if (auto strongSibling = LockWeak(m_nextSibling)) - { - strongSibling.as<::IRawElementProviderFragment>().copy_to(fragment); - } - break; - } - case NavigateDirection_PreviousSibling: - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalParent)) - { - handler->GetPreviousSiblingFragmentForAutomation(GetIUnknown()).copy_to(fragment); - } - else if (auto strongSibling = LockWeak(m_previousSibling)) - { - strongSibling.as<::IRawElementProviderFragment>().copy_to(fragment); - } - break; - } - case NavigateDirection_FirstChild: - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalChild)) - { - handler->GetFirstChildFragmentForAutomation(GetIUnknown()).copy_to(fragment); - } - else if (!m_children.empty()) - { - m_children.front().as<::IRawElementProviderFragment>().copy_to(fragment); - } - break; - } - case NavigateDirection_LastChild: - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalChild)) - { - handler->GetLastChildFragmentForAutomation(GetIUnknown()).copy_to(fragment); - } - else if (!m_children.empty()) - { - m_children.back().as<::IRawElementProviderFragment>().copy_to(fragment); - } - break; - } - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragment::GetRuntimeId( - _Outptr_opt_result_maybenull_ SAFEARRAY** runtimeId) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != runtimeId) - { - *runtimeId = nullptr; - - unsigned long arraySizeAsUnsignedLong = static_cast(m_runtimeId.size()); - - unique_safearray runtimeIdArray{ ::SafeArrayCreateVector(VT_I4, 0, arraySizeAsUnsignedLong) }; - SAFEARRAY* rawPointerToSafeArray = runtimeIdArray.get(); - winrt::check_pointer(rawPointerToSafeArray); - - for (long i = 0; i < static_cast(arraySizeAsUnsignedLong); ++i) - { - winrt::check_hresult(::SafeArrayPutElement(rawPointerToSafeArray, &i, &(m_runtimeId[i]))); - } - - *runtimeId = runtimeIdArray.release(); - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragment::get_BoundingRectangle( - _Out_ UiaRect* boundingRectangle) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != boundingRectangle) - { - *boundingRectangle = { 0, 0, 0, 0 }; - if (auto handler = GetHandler(AutomationCallbackHandlerType::Fragment)) - { - auto screenRectangle = - handler->GetBoundingRectangleInScreenCoordinatesForAutomation(GetIUnknown()); - - boundingRectangle->left = screenRectangle.X; - boundingRectangle->top = screenRectangle.Y; - boundingRectangle->width = screenRectangle.Width; - boundingRectangle->height = screenRectangle.Height; - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragment::GetEmbeddedFragmentRoots( - _Outptr_opt_result_maybenull_ SAFEARRAY** embeddedFragmentRoots) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != embeddedFragmentRoots) - { - *embeddedFragmentRoots = nullptr; - - if (!m_embeddedFragments.empty()) - { - unsigned long vectorSizeAsUnsignedLong = static_cast(m_embeddedFragments.size()); - - unique_safearray embeddedFragmentRootsArray{ ::SafeArrayCreateVector(VT_UNKNOWN, 0, vectorSizeAsUnsignedLong) }; - SAFEARRAY* rawPointerToSafeArray = embeddedFragmentRootsArray.get(); - winrt::check_pointer(rawPointerToSafeArray); - - for (long i = 0; i < static_cast(vectorSizeAsUnsignedLong); ++i) - { - winrt::check_hresult(::SafeArrayPutElement(rawPointerToSafeArray, &i, m_embeddedFragments.at(i).as<::IUnknown>().get())); - } - - *embeddedFragmentRoots = embeddedFragmentRootsArray.release(); - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragment::SetFocus() -{ - std::unique_lock lock{ m_mutex }; - try - { - if (auto handler = GetHandler(AutomationCallbackHandlerType::Fragment)) - { - handler->HandleSetFocusForAutomation(GetIUnknown()); - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragment::get_FragmentRoot( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragmentRoot** fragmentRoot) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != fragmentRoot) - { - *fragmentRoot = nullptr; - - winrt::com_ptr<::IRawElementProviderFragmentRoot> currentFragmentRootCandidate{ nullptr }; - if (auto handler = GetHandler(AutomationCallbackHandlerType::ExternalParent)) - { - currentFragmentRootCandidate = handler->GetFragmentRootForAutomation(GetIUnknown()); - } - else - { - // Walk up our fragment tree until we find our fragment root. - auto fragmentRootCandidate = GetStrong(); - bool currentCandidateIsThisObject = true; - while (nullptr != fragmentRootCandidate && nullptr == fragmentRootCandidate.try_as<::IRawElementProviderFragmentRoot>()) - { - // Haven't found the fragment root yet, keep walking up our tree. - fragmentRootCandidate = currentCandidateIsThisObject ? LockWeak(m_parent) : fragmentRootCandidate->Parent(); - currentCandidateIsThisObject = false; - } - - if (nullptr != fragmentRootCandidate) - { - // Found the fragment root, return it. - currentFragmentRootCandidate = fragmentRootCandidate.as<::IRawElementProviderFragmentRoot>(); - } - } - - // Check if the closest fragment root considers itself to be its own fragment root. - // Sometimes we may find ourselves in an automation tree where the closest fragment root - // is masquerading as a normal fragment with some ancestor as the true fragment root. - auto strongThis = GetStrong(); - if (nullptr != currentFragmentRootCandidate && strongThis.try_as<::IRawElementProviderFragmentRoot>().get() != currentFragmentRootCandidate.get()) - { - winrt::com_ptr<::IRawElementProviderFragmentRoot> ancestorFragmentRoot{ currentFragmentRootCandidate }; - do - { - currentFragmentRootCandidate = ancestorFragmentRoot; - auto currentFragmentRootAsFragment = currentFragmentRootCandidate.try_as<::IRawElementProviderFragment>(); - if (nullptr != currentFragmentRootAsFragment) - { - winrt::check_hresult(currentFragmentRootAsFragment->get_FragmentRoot(ancestorFragmentRoot.put())); - } - } while (nullptr != ancestorFragmentRoot && ancestorFragmentRoot.get() != currentFragmentRootCandidate.get()); - } - - currentFragmentRootCandidate.copy_to(fragmentRoot); - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.h b/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.h deleted file mode 100644 index 4f1bb92f6..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationFragment.h +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "AutomationElement.h" -#include "AutomationCallbackRevoker.h" - -namespace AutomationHelpers -{ - -struct AutomationFragment : winrt::implements -{ - // Automation callback handlers. - [[nodiscard]] std::unique_ptr SetFragmentCallbackHandler( - IAutomationFragmentCallbackHandler* const handler); - - [[nodiscard]] std::unique_ptr SetExternalChildCallbackHandler( - IAutomationExternalChildCallbackHandler* const handler); - - [[nodiscard]] std::unique_ptr SetExternalParentCallbackHandler( - IAutomationExternalParentCallbackHandler* const handler); - - // Methods. - void AddChildToEnd( - winrt::com_ptr const& child); - - void RemoveChild( - winrt::com_ptr const& child); - - void RemoveAllChildren(); - - // IRawElementProviderFragment implementation. - HRESULT __stdcall Navigate( - _In_ NavigateDirection direction, - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragment) final override; - - HRESULT __stdcall GetRuntimeId( - _Outptr_opt_result_maybenull_ SAFEARRAY** runtimeId) final override; - - HRESULT __stdcall get_BoundingRectangle( - _Out_ UiaRect* boundingRectangle) final override; - - HRESULT __stdcall GetEmbeddedFragmentRoots( - _Outptr_opt_result_maybenull_ SAFEARRAY** embeddedFragmentRoots) final override; - - HRESULT __stdcall SetFocus() final override; - - HRESULT __stdcall get_FragmentRoot( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragmentRoot** fragmentRoot) final override; - -private: - // Property setters. Note these private methods hold the lock since they are called from the parent AutomationFragment on a child AutomationFragment. - void Parent(winrt::weak_ref const& parent) { std::unique_lock lock{ m_mutex }; m_parent = parent; } - void PreviousSibling(winrt::weak_ref const& previousSibling) { std::unique_lock lock{ m_mutex }; m_previousSibling = previousSibling; } - void NextSibling(winrt::weak_ref const& nextSibling) { std::unique_lock lock{ m_mutex }; m_nextSibling = nextSibling; } - - // Property getters. Note these private methods hold the lock since they are called from the parent AutomationFragment on a child AutomationFragment. - winrt::com_ptr Parent() const { std::unique_lock lock{ m_mutex }; return LockWeak(m_parent); } - winrt::com_ptr PreviousSibling() const { std::unique_lock lock{ m_mutex }; return LockWeak(m_previousSibling); } - winrt::com_ptr NextSibling() const { std::unique_lock lock{ m_mutex }; return LockWeak(m_nextSibling); } - int* RuntimeId() { std::unique_lock lock{ m_mutex }; return reinterpret_cast(&(m_runtimeId[0])); } - int RuntimeIdSize() const { std::unique_lock lock{ m_mutex }; return static_cast(m_runtimeId.size()); } - - // Guard via m_mutex when accessing the following data members from all methods - // that can be called from outside the AutomationHelpers namespace. - // Automatically generate unique runtime IDs per fragment. - inline static unsigned __int32 s_nextAvailableInternalRuntimeId{ 0 }; - std::array m_runtimeId{ UiaAppendRuntimeId, ++s_nextAvailableInternalRuntimeId }; - - winrt::weak_ref m_parent{ nullptr }; - winrt::weak_ref m_previousSibling{ nullptr }; - winrt::weak_ref m_nextSibling{ nullptr }; - std::vector> m_children{}; - std::vector> m_embeddedFragments{}; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.cpp deleted file mode 100644 index 57b56d673..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationFragmentRoot.h" - -namespace AutomationHelpers -{ - -std::unique_ptr AutomationFragmentRoot::SetFragmentRootCallbackHandler( - IAutomationFragmentRootCallbackHandler* const handler) -{ - AddHandler(AutomationCallbackHandlerType::FragmentRoot, handler); - return AutomationCallbackRevoker::Create(GetWeak(), handler); -} - -HRESULT __stdcall AutomationFragmentRoot::ElementProviderFromPoint( - _In_ double x, - _In_ double y, - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragment) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != fragment) - { - *fragment = nullptr; - if (auto handler = GetHandler(AutomationCallbackHandlerType::FragmentRoot)) - { - handler->GetFragmentFromPointInScreenCoordinatesForAutomation(x, y, GetIUnknown()).copy_to(fragment); - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -HRESULT __stdcall AutomationFragmentRoot::GetFocus( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragmentInFocus) -{ - std::unique_lock lock{ m_mutex }; - try - { - if (nullptr != fragmentInFocus) - { - *fragmentInFocus = nullptr; - if (auto handler = GetHandler(AutomationCallbackHandlerType::FragmentRoot)) - { - handler->GetFragmentInFocusForAutomation(GetIUnknown()).copy_to(fragmentInFocus); - } - } - } - catch (...) { return UIA_E_ELEMENTNOTAVAILABLE; } - return S_OK; -} - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.h b/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.h deleted file mode 100644 index de67fb09a..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationFragmentRoot.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "AutomationFragment.h" - -namespace AutomationHelpers -{ - -struct AutomationFragmentRoot : winrt::implements -{ - // Automation callback handler. - [[nodiscard]] std::unique_ptr SetFragmentRootCallbackHandler( - IAutomationFragmentRootCallbackHandler* const handler); - - // IRawElementProviderFragmentRoot implementation. - HRESULT __stdcall ElementProviderFromPoint( - _In_ double x, - _In_ double y, - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragment) final override; - - HRESULT __stdcall GetFocus( - _COM_Outptr_opt_result_maybenull_ ::IRawElementProviderFragment** fragmentInFocus) final override; -}; - -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.cpp deleted file mode 100644 index 3e771a86e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.cpp +++ /dev/null @@ -1,199 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationPeer.h" - -// static -std::shared_ptr AutomationPeer::Create( - _In_ IFrame const* const owningFrame, - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) noexcept -{ - try - { - auto peer = std::make_shared(); - peer->Initialize(owningFrame, visual, name, uiaControlTypeId); - return peer; - } - catch (...) {} - return nullptr; -} - -winrt::Windows::Graphics::RectInt32 AutomationPeer::GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_fragment.as<::IUnknown>().get()) - { - return { 0, 0, 0, 0 }; - } - - auto boundsInFrameCoordinates = m_visual->BoundsInTreeRootCoordinates(); - auto coordinateConverter = m_owningFrameNoRef->GetConverter(); - return coordinateConverter.ConvertLocalToScreen(boundsInFrameCoordinates); -} - -void AutomationPeer::HandleSetFocusForAutomation( - ::IUnknown const* const) -{ - std::unique_lock lock{ m_mutex }; - - // Do nothing. -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationPeer::GetFirstChildFragmentForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_fragment.as<::IUnknown>().get()) - { - return nullptr; - } - - if (nullptr != m_childSiteLink) - { - return m_childSiteLink.AutomationProvider().try_as<::IRawElementProviderFragment>(); - } - - return m_childFrameNoRef->GetAutomationProvider().as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationPeer::GetLastChildFragmentForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_fragment.as<::IUnknown>().get()) - { - return nullptr; - } - - if (nullptr != m_childSiteLink) - { - return m_childSiteLink.AutomationProvider().try_as<::IRawElementProviderFragment>(); - } - - return m_childFrameNoRef->GetAutomationProvider().as<::IRawElementProviderFragment>(); -} - -void AutomationPeer::SetChildSiteLink(_In_ winrt::Microsoft::UI::Content::ChildSiteLink const& childSiteLink) -{ - std::unique_lock lock{ m_mutex }; - - // If we're configuring this peer with an external child content link, we cannot have an external child frame set up. - m_childFrameNoRef = nullptr; - - m_childSiteLink = childSiteLink; - if (nullptr != m_childSiteLink) - { - m_externalChildCallbackRevoker = m_fragment->SetExternalChildCallbackHandler(this); - - m_parentAutomationProviderRequestedRevoker = { m_childSiteLink, m_childSiteLink.ParentAutomationProviderRequested([&](auto&&, auto&& args) - { - winrt::Windows::Foundation::IInspectable provider{ nullptr }; - winrt::copy_from_abi(provider, m_fragment.as<::IInspectable>().get()); - args.AutomationProvider(provider); - args.Handled(true); - }) }; - - m_previousSiblingAutomationProviderRequestedRevoker = { m_childSiteLink, m_childSiteLink.PreviousSiblingAutomationProviderRequested([&](auto&&, auto&& args) - { - args.AutomationProvider(nullptr); - args.Handled(true); - }) }; - - m_nextSiblingAutomationProviderRequestedRevoker = { m_childSiteLink, m_childSiteLink.NextSiblingAutomationProviderRequested([&](auto&&, auto&& args) - { - args.AutomationProvider(nullptr); - args.Handled(true); - }) }; - - m_fragmentRootAutomationProviderRequestedRevoker = { m_childSiteLink, m_childSiteLink.FragmentRootAutomationProviderRequested([&](auto&&, auto&& args) - { - winrt::Windows::Foundation::IInspectable provider{ nullptr }; - winrt::com_ptr<::IRawElementProviderFragmentRoot> fragmentRoot{ nullptr }; - winrt::check_hresult(m_fragment->get_FragmentRoot(fragmentRoot.put())); - winrt::copy_from_abi(provider, fragmentRoot.as<::IInspectable>().get()); - args.AutomationProvider(provider); - args.Handled(true); - }) }; - } - else - { - m_externalChildCallbackRevoker.reset(); - - m_parentAutomationProviderRequestedRevoker.Revoke(); - m_previousSiblingAutomationProviderRequestedRevoker.Revoke(); - m_nextSiblingAutomationProviderRequestedRevoker.Revoke(); - m_fragmentRootAutomationProviderRequestedRevoker.Revoke(); - } -} - -void AutomationPeer::SetChildFrame(_In_ IFrame const* const childFrame) -{ - std::unique_lock lock{ m_mutex }; - - // If we're configuring this peer with an external child frame, we cannot have an external child content link set up. - m_parentAutomationProviderRequestedRevoker.Revoke(); - m_previousSiblingAutomationProviderRequestedRevoker.Revoke(); - m_nextSiblingAutomationProviderRequestedRevoker.Revoke(); - m_fragmentRootAutomationProviderRequestedRevoker.Revoke(); - m_childSiteLink = nullptr; - - m_childFrameNoRef = childFrame; - if (nullptr != m_childFrameNoRef) - { - m_externalChildCallbackRevoker = m_fragment->SetExternalChildCallbackHandler(this); - } - else - { - m_externalChildCallbackRevoker.reset(); - } -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationPeer::ForwardFragmentFromPointInScreenCoordinatesRequest(double x, double y) const -{ - std::unique_lock lock{ m_mutex }; - - winrt::com_ptr<::IRawElementProviderFragmentRoot> childFragmentRoot{ nullptr }; - - if (nullptr != m_childSiteLink) - { - childFragmentRoot = m_childSiteLink.AutomationProvider().try_as<::IRawElementProviderFragmentRoot>(); - } - else if (nullptr != m_childFrameNoRef) - { - childFragmentRoot = m_childFrameNoRef->GetAutomationProvider(); - } - - if (nullptr != childFragmentRoot) - { - // Forward the request to the child frame or content link. - winrt::com_ptr<::IRawElementProviderFragment> fragmentFromChildFragmentRoot{ nullptr }; - if (S_OK == childFragmentRoot->ElementProviderFromPoint(x, y, fragmentFromChildFragmentRoot.put())) - { - return fragmentFromChildFragmentRoot; - } - } - - // Return ourselves if we have no external child content or no fragment was found in the child content. - return m_fragment; -} - -void AutomationPeer::Initialize( - _In_ IFrame const* const owningFrame, - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) -{ - m_owningFrameNoRef = owningFrame; - m_visual = visual; - - m_fragment = winrt::make_self(); - m_fragment->Name(name); - m_fragment->UiaControlTypeId(uiaControlTypeId); - m_fragmentCallbackRevoker = m_fragment->SetFragmentCallbackHandler(this); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.h b/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.h deleted file mode 100644 index e78516f66..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationPeer.h +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include -#include "VisualTreeNode.h" -#include "AutomationFragment.h" -#include "IFrame.h" -#include "EventRevokers.h" - -struct AutomationPeer : std::enable_shared_from_this, - AutomationHelpers::IAutomationFragmentCallbackHandler, - AutomationHelpers::IAutomationExternalChildCallbackHandler -{ - [[nodiscard]] static std::shared_ptr Create( - _In_ IFrame const* const owningFrame, - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) noexcept; - - explicit AutomationPeer() noexcept = default; - ~AutomationPeer() noexcept = default; - - // Disable move and copy. - explicit AutomationPeer(AutomationPeer const&) = delete; - explicit AutomationPeer(AutomationPeer&&) = delete; - AutomationPeer& operator=(AutomationPeer const&) = delete; - AutomationPeer& operator=(AutomationPeer&&) = delete; - - // AutomationHelpers::IAutomationFragmentCallbackHandler overrides. - winrt::Windows::Graphics::RectInt32 GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const final override; - void HandleSetFocusForAutomation( - ::IUnknown const* const sender) final override; - - // AutomationHelpers::IAutomationExternalChildCallbackHandler overrides. - winrt::com_ptr<::IRawElementProviderFragment> GetFirstChildFragmentForAutomation( - ::IUnknown const* const sender) const final override; - winrt::com_ptr<::IRawElementProviderFragment> GetLastChildFragmentForAutomation( - ::IUnknown const* const sender) const final override; - - winrt::com_ptr Fragment() const noexcept { std::unique_lock lock{ m_mutex }; return m_fragment; } - std::shared_ptr VisualNode() const noexcept { std::unique_lock lock{ m_mutex }; return m_visual; } - - void SetChildSiteLink(_In_ winrt::Microsoft::UI::Content::ChildSiteLink const& childSiteLink); - void SetChildFrame(_In_ IFrame const* const childFrame); - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> ForwardFragmentFromPointInScreenCoordinatesRequest(double x, double y) const; - -private: - void Initialize( - _In_ IFrame const* const owningFrame, - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId); - - mutable std::mutex m_mutex{}; - - IFrame const* m_owningFrameNoRef{ nullptr }; - IFrame const* m_childFrameNoRef{ nullptr }; - winrt::Microsoft::UI::Content::ChildSiteLink m_childSiteLink{ nullptr }; - - std::shared_ptr m_visual{ nullptr }; - winrt::com_ptr m_fragment{ nullptr }; - std::unique_ptr m_fragmentCallbackRevoker{ nullptr }; - std::unique_ptr m_externalChildCallbackRevoker{ nullptr }; - - ChildSiteLinkParentAutomationProviderRequested_revoker m_parentAutomationProviderRequestedRevoker{}; - ChildSiteLinkPreviousSiblingAutomationProviderRequested_revoker m_previousSiblingAutomationProviderRequestedRevoker{}; - ChildSiteLinkNextSiblingAutomationProviderRequested_revoker m_nextSiblingAutomationProviderRequestedRevoker{}; - ChildSiteLinkFragmentRootAutomationProviderRequested_revoker m_fragmentRootAutomationProviderRequestedRevoker{}; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationTree.cpp b/Samples/Islands/UXFrameworksOnIslands/AutomationTree.cpp deleted file mode 100644 index 5dbf80ac2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationTree.cpp +++ /dev/null @@ -1,223 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "AutomationTree.h" - -// static -std::shared_ptr AutomationTree::Create( - _In_ IFrame const* const owningFrame, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) noexcept -{ - try - { - auto tree = std::make_shared(); - tree->Initialize(owningFrame, name, uiaControlTypeId); - return tree; - } - catch (...) {} - return nullptr; -} - -winrt::Windows::Graphics::RectInt32 AutomationTree::GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return { 0, 0, 0, 0 }; - } - - auto boundsInFrameCoordinates = m_owningFrameNoRef->GetRootVisualTreeNode()->BoundsInTreeRootCoordinates(); - auto coordinateConverter = m_owningFrameNoRef->GetConverter(); - return coordinateConverter.ConvertLocalToScreen(boundsInFrameCoordinates); -} - -void AutomationTree::HandleSetFocusForAutomation( - ::IUnknown const* const) -{ - std::unique_lock lock{ m_mutex }; - - // Do nothing. -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationTree::GetFragmentFromPointInScreenCoordinatesForAutomation( - double x, - double y, - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - auto rootVisual = m_owningFrameNoRef->GetRootVisualTreeNode(); - auto coordinateConverter = m_owningFrameNoRef->GetConverter(); - winrt::Windows::Graphics::PointInt32 pointInScreenCoordinates{ static_cast(x + 0.5), static_cast(y + 0.5) }; - auto pointInFrameCoordinates = coordinateConverter.ConvertScreenToLocal(pointInScreenCoordinates); - auto visualHit = rootVisual->HitTestInTreeRootCoordinates(pointInFrameCoordinates); - - if (nullptr == visualHit) - { - // No visuals in this frame's visual tree were hit, so return nullptr. - return nullptr; - } - - auto it = std::find_if(m_peers.begin(), m_peers.end(), [&visualHit](std::shared_ptr const& peer) - { - return peer->VisualNode() == visualHit; - }); - - if (m_peers.end() != it) - { - // A peer was found for the visual that was hit. - // Check if the peer would like to forward the request to an external child (i.e. a different frame of content). - // If not, the peer will return itself. - return (*it)->ForwardFragmentFromPointInScreenCoordinatesRequest(x, y); - } - - // No peer was found for the visual that was hit, but we know we are in the frame's bounds, so return the frame's fragment root. - return m_root.as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationTree::GetFragmentInFocusForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - // Not doing anything currently. - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationTree::GetParentFragmentForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - return (nullptr != m_frameHostNoRef) ? - m_frameHostNoRef->GetParentProviderForChildFrame(m_owningFrameNoRef) : - m_owningFrameNoRef->GetIsland().ParentAutomationProvider().try_as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationTree::GetNextSiblingFragmentForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - return (nullptr != m_frameHostNoRef) ? - m_frameHostNoRef->GetNextSiblingProviderForChildFrame(m_owningFrameNoRef) : - m_owningFrameNoRef->GetIsland().NextSiblingAutomationProvider().try_as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragment> AutomationTree::GetPreviousSiblingFragmentForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - return (nullptr != m_frameHostNoRef) ? - m_frameHostNoRef->GetPreviousSiblingProviderForChildFrame(m_owningFrameNoRef) : - m_owningFrameNoRef->GetIsland().PreviousSiblingAutomationProvider().try_as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragmentRoot> AutomationTree::GetFragmentRootForAutomation( - ::IUnknown const* const sender) const -{ - std::unique_lock lock{ m_mutex }; - - if (sender != m_root.as<::IUnknown>().get()) - { - return nullptr; - } - - return (nullptr != m_frameHostNoRef) ? - m_frameHostNoRef->GetFragmentRootProviderForChildFrame(m_owningFrameNoRef) : - m_owningFrameNoRef->GetIsland().FragmentRootAutomationProvider().try_as<::IRawElementProviderFragmentRoot>(); -} - -std::shared_ptr AutomationTree::CreatePeer( - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) -{ - std::unique_lock lock{ m_mutex }; - return AutomationPeer::Create(m_owningFrameNoRef, visual, name, uiaControlTypeId); -} - -void AutomationTree::AddPeer( - _In_ std::shared_ptr const& peer) -{ - std::unique_lock lock{ m_mutex }; - m_peers.push_back(peer); -} - -void AutomationTree::SetFrameHost( - _In_ IFrameHost const* const frameHost) noexcept -{ - std::unique_lock lock{ m_mutex }; - - m_frameHostNoRef = frameHost; - - // If a frame host has been set, they are responsible for hooking up the automation tree. - m_root->HostProvider(nullptr); - m_contentIslandAutomationProviderRequestedRevoker.Revoke(); -} - -void AutomationTree::Initialize( - _In_ IFrame const* const owningFrame, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) -{ - m_owningFrameNoRef = owningFrame; - - m_root = winrt::make_self(); - m_root->Name(name); - m_root->IsContent(false); - m_root->IsControl(false); - m_root->UiaControlTypeId(uiaControlTypeId); - m_fragmentCallbackRevoker = m_root->SetFragmentCallbackHandler(this); - m_fragmentRootCallbackRevoker = m_root->SetFragmentRootCallbackHandler(this); - m_externalParentCallbackRevoker = m_root->SetExternalParentCallbackHandler(this); - - // If this automation tree is not directly connected to an outer IFrameHost, - // then we must connect into the system automation tree via the ContentIsland automation APIs. - auto island = m_owningFrameNoRef->GetIsland(); - auto hostProviderAsIInspectable = island.GetAutomationHostProvider(); - if (nullptr != hostProviderAsIInspectable) - { - m_root->HostProvider(hostProviderAsIInspectable.as<::IRawElementProviderSimple>()); - } - - m_contentIslandAutomationProviderRequestedRevoker = { island, island.AutomationProviderRequested([weakThis=weak_from_this()](auto&&, auto&& args) - { - if (auto strongThis = weakThis.lock()) - { - winrt::Windows::Foundation::IInspectable provider{ nullptr }; - winrt::copy_from_abi(provider, strongThis->m_root.get()); - args.AutomationProvider(provider); - args.Handled(true); - } - }) }; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/AutomationTree.h b/Samples/Islands/UXFrameworksOnIslands/AutomationTree.h deleted file mode 100644 index 910af437b..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/AutomationTree.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include -#include "IFrameHost.h" -#include "AutomationFragmentRoot.h" -#include "AutomationPeer.h" -#include "EventRevokers.h" - -struct AutomationTree : std::enable_shared_from_this, - AutomationHelpers::IAutomationFragmentCallbackHandler, - AutomationHelpers::IAutomationFragmentRootCallbackHandler, - AutomationHelpers::IAutomationExternalParentCallbackHandler -{ - [[nodiscard]] static std::shared_ptr Create( - _In_ IFrame const* const owningFrame, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId) noexcept; - - explicit AutomationTree() noexcept = default; - ~AutomationTree() noexcept = default; - - // Disable move and copy. - explicit AutomationTree(AutomationTree const&) = delete; - explicit AutomationTree(AutomationTree&&) = delete; - AutomationTree& operator=(AutomationTree const&) = delete; - AutomationTree& operator=(AutomationTree&&) = delete; - - // AutomationHelpers::IAutomationFragmentCallbackHandler overrides. - winrt::Windows::Graphics::RectInt32 GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const final override; - void HandleSetFocusForAutomation( - ::IUnknown const* const sender) final override; - - // AutomationHelpers::IAutomationFragmentRootCallbackHandler overrides. - winrt::com_ptr<::IRawElementProviderFragment> GetFragmentFromPointInScreenCoordinatesForAutomation( - double x, - double y, - ::IUnknown const* const sender) const final override; - winrt::com_ptr<::IRawElementProviderFragment> GetFragmentInFocusForAutomation( - ::IUnknown const* const sender) const final override; - - // AutomationHelpers::IAutomationExternalParentCallbackHandler overrides. - winrt::com_ptr<::IRawElementProviderFragment> GetParentFragmentForAutomation( - ::IUnknown const* const sender) const final override; - winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingFragmentForAutomation( - ::IUnknown const* const sender) const final override; - winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingFragmentForAutomation( - ::IUnknown const* const sender) const final override; - winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootForAutomation( - ::IUnknown const* const sender) const final override; - - [[nodiscard]] winrt::com_ptr Root() const noexcept { std::unique_lock lock{ m_mutex }; return m_root; } - - [[nodiscard]] std::shared_ptr CreatePeer( - _In_ std::shared_ptr const& visual, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId); - - void AddPeer(_In_ std::shared_ptr const& peer); - - void SetFrameHost(_In_ IFrameHost const* const frameHost) noexcept; - -private: - void Initialize( - _In_ IFrame const* const owningFrame, - _In_ std::wstring_view const& name, - _In_ long const& uiaControlTypeId); - - mutable std::mutex m_mutex{}; - - IFrame const* m_owningFrameNoRef{ nullptr }; - IFrameHost const* m_frameHostNoRef{ nullptr }; - - winrt::com_ptr m_root{ nullptr }; - std::unique_ptr m_fragmentCallbackRevoker{ nullptr }; - std::unique_ptr m_fragmentRootCallbackRevoker{ nullptr }; - std::unique_ptr m_externalParentCallbackRevoker{ nullptr }; - - std::vector> m_peers; - - ContentIslandAutomationProviderRequested_revoker m_contentIslandAutomationProviderRequestedRevoker{}; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/CheckBox.cpp b/Samples/Islands/UXFrameworksOnIslands/CheckBox.cpp deleted file mode 100644 index f7a9251d2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/CheckBox.cpp +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "CheckBox.h" -#include "TextRenderer.h" -#include "Output.h" - -namespace -{ - constexpr wchar_t const* k_iconFont = L"Segoe MDL2 Assets"; - - winrt::com_ptr const& GetEmptyCheckBoxTextLayout() - { - // L"\xE739" = CheckBox (empty box) - static winrt::com_ptr textLayout = CreateTextLayout(L"\xE739", CreateTextFormat(k_iconFont).get()); - return textLayout; - } - - winrt::com_ptr const& GetFilledCheckBoxTextLayout() - { - // L"\xE73A" = CheckBoxComposite (check box with check mark) - static winrt::com_ptr textLayout = CreateTextLayout(L"\xE73A", CreateTextFormat(k_iconFont).get()); - return textLayout; - } -} - -template -CheckBox::CheckBox( - Output const& output, - std::wstring&& text, - std::shared_ptr const& settings, - SettingId id) : - SettingChangedHandler(settings), - m_containerVisual(output.GetCompositor().CreateContainerVisual()), - m_emptyCheckBox(output, L"", GetEmptyCheckBoxTextLayout(), m_containerVisual), - m_filledCheckBox(output, L"", GetFilledCheckBoxTextLayout(), m_containerVisual), - m_label(output, std::move(text), nullptr, m_containerVisual), - m_settingId(id) -{ - if (IsChecked()) - { - m_emptyCheckBox.IsVisible(false); - } - else - { - m_filledCheckBox.IsVisible(false); - } - - auto checkboxSize = m_emptyCheckBox.Size(); - auto labelSize = m_label.Size(); - m_label.SetTextOrigin({ - checkboxSize.Width + 4.0f, - (checkboxSize.Height - labelSize.Height) / 2}); - - m_size.Width = m_label.GetTextOrigin().x + m_label.Size().Width; - m_size.Height = m_emptyCheckBox.Size().Height; - - m_containerVisual.Size(m_size); - - m_visualNode = VisualTreeNode::Create(m_containerVisual.as<::IUnknown>()); - m_visualNode->HitTestCallback([this](const HitTestContext& context) { - if (context.IsRightClick()) - { - return false; - } - - ToggleCheckState(); - return true; - }); -} - -template -bool CheckBox::IsChecked() const noexcept -{ - return GetSetting(m_settingId); -} - -template -void CheckBox::IsChecked(bool value) -{ - GetSettings()->SetSetting(m_settingId, value); -} - -template -void CheckBox::OnSettingChanged(SettingId id) -{ - if (id == m_settingId) - { - bool isChecked = IsChecked(); - m_emptyCheckBox.IsVisible(!isChecked); - m_filledCheckBox.IsVisible(isChecked); - } -} - -// Explicit template instantiation. -template class CheckBox; -template class CheckBox; diff --git a/Samples/Islands/UXFrameworksOnIslands/CheckBox.h b/Samples/Islands/UXFrameworksOnIslands/CheckBox.h deleted file mode 100644 index 9c9908ed8..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/CheckBox.h +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once -#include "TextVisual.h" -#include "SettingCollection.h" -#include "VisualTreeNode.h" - -template -class CheckBox final : SettingChangedHandler -{ -public: - using ContainerVisual = typename CompositorTypes::ContainerVisual; - - CheckBox( - Output const& output, - std::wstring&& text, - std::shared_ptr const& settings, - SettingId id); - - // Gets the container visual, which is used for layout. - auto& GetVisual() const noexcept - { - return m_containerVisual; - } - - auto& GetVisualNode() const noexcept - { - return m_visualNode; - } - - auto& GetText() const noexcept - { - return m_label.GetText(); - } - - winrt::Size Size() const - { - return m_size; - } - - bool IsChecked() const noexcept; - void IsChecked(bool value); - - void ToggleCheckState() - { - IsChecked(!IsChecked()); - } - -private: - void OnSettingChanged(SettingId id) override; - - ContainerVisual m_containerVisual; - TextVisual m_emptyCheckBox; - TextVisual m_filledCheckBox; - TextVisual m_label; - winrt::Size m_size; - SettingId m_settingId; - std::shared_ptr m_visualNode; -}; - -using LiftedCheckBox = CheckBox; -using SystemCheckBox = CheckBox; - -// Inserts a CheckBox into a visual tree. -template -void InsertCheckBoxVisual( - CheckBox const& checkBox, - std::shared_ptr const& automationTree, - std::shared_ptr const& parentPeer - ) -{ - auto& visualNode = checkBox.GetVisualNode(); - auto visualPeer = automationTree->CreatePeer(visualNode, checkBox.GetText(), UIA_CheckBoxControlTypeId); - parentPeer->VisualNode()->AddChild(visualNode); - parentPeer->Fragment()->AddChildToEnd(visualPeer->Fragment()); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/ColorUtils.h b/Samples/Islands/UXFrameworksOnIslands/ColorUtils.h deleted file mode 100644 index 0da435400..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/ColorUtils.h +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -class ColorUtils -{ -public: - // 'FromHexValue(0xaabbccdd)' is the equivalent of in Xaml or other frameworks '#aabbccdd' - static inline winrt::Windows::UI::Color FromHexValue(uint32_t hexValue) - { - return winrt::Windows::UI::ColorHelper::FromArgb( - (hexValue >> 24) & 0xFF, - (hexValue >> 16) & 0xFF, - (hexValue >> 8) & 0xFF, - hexValue & 0xFF); - } - - static inline winrt::Windows::UI::Color LightBlue() - { - return FromHexValue(0xffc4d9ee); - } - - static inline winrt::Windows::UI::Color LightRed() - { - return FromHexValue(0xffb0004f); - } - - static inline winrt::Windows::UI::Color DarkRed() - { - return FromHexValue(0xff89023e); - } - - static inline winrt::Windows::UI::Color LightBrown() - { - return FromHexValue(0xffe6d6b5); - } - - static inline winrt::Windows::UI::Color LightGreen() - { - return FromHexValue(0xffccf0db); - } - - static inline winrt::Windows::UI::Color DarkGreen() - { - return FromHexValue(0xff88ddab); - } - - static inline winrt::Windows::UI::Color LightPink() - { - return FromHexValue(0xffe6c8c8); - } - - static inline winrt::Windows::UI::Color DarkPink() - { - return FromHexValue(0xffdcb2b2); - } - - static inline winrt::Windows::UI::Color LightYellow() - { - return FromHexValue(0xfff9f5e2); - } - - static inline winrt::Windows::UI::Color Black() - { - return FromHexValue(0xff000000); - } -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.cpp b/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.cpp deleted file mode 100644 index 9eb187a2d..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "Output.h" - -inline winrt::CompositionGraphicsDevice CreateCompositionGraphicsDevice(ID2D1Device6* d2dDevice, winrt::Compositor const& compositor) -{ - auto compositorInterop = compositor.as(); - winrt::ICompositionGraphicsDevice graphicsDevice; - winrt::check_hresult(compositorInterop->CreateGraphicsDevice(d2dDevice, &graphicsDevice)); - return graphicsDevice.as(); -} - -inline winrt::WUC::CompositionGraphicsDevice CreateCompositionGraphicsDevice(ID2D1Device6* d2dDevice, winrt::WUC::Compositor const& compositor) -{ - auto compositorInterop = compositor.as(); - winrt::com_ptr graphicsDevice; - winrt::check_hresult(compositorInterop->CreateGraphicsDevice(d2dDevice, graphicsDevice.put())); - return graphicsDevice.as(); -} - -template -CompositionDeviceResource::CompositionDeviceResource( - std::shared_ptr> const& resourceList, - ID2D1Device6* d2dDevice, - T const& compositor) : - OutputResource(resourceList), - m_graphicsDevice(CreateCompositionGraphicsDevice(d2dDevice, compositor)), - m_isInitialized(true) -{ -} - -template -void CompositionDeviceResource::ReleaseDeviceDependentResources(Output const&) -{ - m_isInitialized = false; -} - -template -void CompositionDeviceResource::EnsureInitialized(Output const& output) -{ - if (!m_isInitialized) - { - // Restore the composition graphics device to health by pointing to the new Direct2D device. - auto deviceInterop = m_graphicsDevice.as(); - winrt::check_hresult(deviceInterop->SetRenderingDevice(output.GetDXDevice().GetD2DDevice().get())); - m_isInitialized = true; - } -} - -// Explicit template instantiation. -template class CompositionDeviceResource; -template class CompositionDeviceResource; diff --git a/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.h b/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.h deleted file mode 100644 index 551896e04..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/CompositionDeviceResource.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "OutputResource.h" -#include "TemplateHelpers.h" - -// Wrapper for CompositionGraphicsDevice. -// This class derives from OutputResource so it can recover from device-lost. -template -class CompositionDeviceResource final : public OutputResource -{ -public: - using CompositionGraphicsDevice = typename CompositorTypes::CompositionGraphicsDevice; - using ICompositionGraphicsDeviceInterop = typename CompositorTypes::ICompositionGraphicsDeviceInterop; - - CompositionDeviceResource( - std::shared_ptr> const& resourceList, - ID2D1Device6* d2dDevice, - T const& compositor); - - // OutputResource methods. - void ReleaseDeviceDependentResources(Output const& output) override; - void EnsureInitialized(Output const& output) override; - - auto& GetCompositionGraphicsDevice() const noexcept - { - return m_graphicsDevice; - } - -private: - CompositionGraphicsDevice m_graphicsDevice; - bool m_isInitialized = false; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/D2DSprite.cpp b/Samples/Islands/UXFrameworksOnIslands/D2DSprite.cpp deleted file mode 100644 index 5bef2f514..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/D2DSprite.cpp +++ /dev/null @@ -1,365 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "D2DSprite.h" -#include "Output.h" -#include "TextRenderer.h" - -inline winrt::CompositionDrawingSurface CreateCompositionDrawingSurface(winrt::CompositionGraphicsDevice const& device, winrt::Size pixelSize) -{ - return device.CreateDrawingSurface( - pixelSize, - winrt::Microsoft::Graphics::DirectX::DirectXPixelFormat::B8G8R8A8UIntNormalized, - winrt::Microsoft::Graphics::DirectX::DirectXAlphaMode::Premultiplied); -} - -inline winrt::WUC::CompositionDrawingSurface CreateCompositionDrawingSurface(winrt::WUC::CompositionGraphicsDevice const& device, winrt::Size pixelSize) -{ - return device.CreateDrawingSurface( - pixelSize, - winrt::Windows::Graphics::DirectX::DirectXPixelFormat::B8G8R8A8UIntNormalized, - winrt::Windows::Graphics::DirectX::DirectXAlphaMode::Premultiplied); -} - -template -D2DSprite::D2DSprite(Output const& output, ContainerVisual const& containerVisual) : - OutputResource(output.GetResourceList()), - m_containerVisual(containerVisual != nullptr ? containerVisual : output.GetCompositor().CreateContainerVisual()), - m_spriteVisual(output.GetCompositor().CreateSpriteVisual()) -{ - IsPixelSnappingEnabled(!output.GetSetting(Setting_DisablePixelSnapping)); - m_containerVisual.Children().InsertAtTop(m_spriteVisual); -} - -template -void D2DSprite::SetBackgroundColor(winrt::Windows::UI::Color const& color) -{ - if (color != m_backgroundColor) - { - m_backgroundColor = color; - InvalidateContent(); - } -} - -template -void D2DSprite::ReleaseDeviceDependentResources(Output const&) -{ - InvalidateSurface(); -} - -template -void D2DSprite::EnsureInitialized(Output const& output) -{ - try - { - // Recompute the raster transform based on the current layout. - auto rasterTransform = ComputeRasterTransform(output); - if (rasterTransform != m_rasterTransform) - { - m_rasterTransform = rasterTransform; - InvalidateContent(); - } - - // Recompute the bounding box in device coordinates. - // This invalidates the drawing surface if the size changes. - InitializePixelBounds(output); - - // Create the drawing surface if it doesn't already exist. - if (m_drawingSurface == nullptr) - { - // Create a CompositionDrawingSurface sized to the pixel bounds. - m_drawingSurface = CreateCompositionDrawingSurface(output.GetCompositionGraphicsDevice(), GetPixelSize()); - - // Create a surface brush and assign it to the visual. - auto surfaceBrush = output.GetCompositor().CreateSurfaceBrush(); - surfaceBrush.Surface(m_drawingSurface); - m_spriteVisual.Brush(surfaceBrush); - - m_surfaceGeneration++; - } - - // Draw the content if it's not already valid. - if (!m_isContentValid) - { - RenderToDrawingSurface(output); - m_isContentValid = true; - } - - SetSpriteSizeAndTransform(); - } - catch (winrt::hresult_error& e) - { - // Silently ignore device-removed error. - // We'll draw again after the device is recreated. - if (e.code() == DXGI_ERROR_DEVICE_REMOVED) - return; - - // Rethrow all other exceptions. - throw; - } -} - -template -void D2DSprite::InvalidateSurface() -{ - // Indicate that the content needs to be re-rendered. - m_isContentValid = false; - - // Indicate that the drawing surface and brush need to be re-created. - m_drawingSurface = nullptr; - m_spriteVisual.Brush(nullptr); -} - -template -void D2DSprite::InvalidateContent() -{ - // Indicate that the content needs to be re-rendered. - m_isContentValid = false; -} - -template -void D2DSprite::OnSettingChanged(Output const& output, SettingId id) -{ - switch (id) - { - case Setting_DisablePixelSnapping: - IsPixelSnappingEnabled(!output.GetSetting(Setting_DisablePixelSnapping)); - break; - - case Setting_ShowSpriteBounds: - case Setting_ShowSpriteGeneration: - InvalidateContent(); - break; - - default: - InvalidateSurface(); - } - - EnsureInitialized(output); -} - -template -Matrix2x2 D2DSprite::ComputeRasterTransform(Output const& output) const -{ - // Compute the aggregate transform (ignoring translation) from the placement visual - // to the root coordinate space of the island. - auto matrix = winrt::Windows::Foundation::Numerics::float4x4::identity(); - for (auto visual = GetVisual(); visual != nullptr; visual = visual.Parent()) - { - // Compute a local transform from the visual's properties, ignoring translation. - auto visualTransform = winrt::Windows::Foundation::Numerics::make_float4x4_scale( - visual.Scale()); - visualTransform *= winrt::Windows::Foundation::Numerics::make_float4x4_from_axis_angle( - visual.RotationAxis(), - visual.RotationAngle()); - visualTransform *= visual.TransformMatrix(); - - // Multiply by the aggregate transform so far. - matrix *= visualTransform; - } - - // Flatten to a 2x2 matrix (2D without displacement). - auto result = Matrix2x2(matrix); - - // Multiply by the island's rasterization transform. - result = result * output.GetRasterizationTransform(); - - // If it's a degenerate transform, use identity. - if (!result.IsInvertible()) - { - result = Matrix2x2(); - } - - return result; -} - -template -D2D1_RECT_F D2DSprite::GetPixelBounds(Output const& output, D2D1::Matrix3x2F const& rasterTransform) -{ - // Create a command list and set it as the device context target. - ID2D1DeviceContext5* deviceContext = output.GetDXDevice().GetDeviceContext().get(); - winrt::com_ptr commandList; - winrt::check_hresult(deviceContext->CreateCommandList(commandList.put())); - deviceContext->SetTarget(commandList.get()); - - // Set the unit mode to pixels because the transform includes DPI scaling. - deviceContext->SetUnitMode(D2D1_UNIT_MODE_PIXELS); - - // Render the content with the specified transform, then restore the identity transform. - deviceContext->BeginDraw(); - deviceContext->SetTransform(rasterTransform); - RenderContent(output, deviceContext); - deviceContext->SetTransform(D2D1::Matrix3x2F::Identity()); - winrt::check_hresult(deviceContext->EndDraw()); - - // Restore the original target. - deviceContext->SetTarget(nullptr); - - // Close the command list and compute its bounds. - winrt::check_hresult(commandList->Close()); - D2D1_RECT_F worldBounds; - winrt::check_hresult(deviceContext->GetImageWorldBounds(commandList.get(), /*out*/ &worldBounds)); - - return worldBounds; -} - -template -void D2DSprite::InitializePixelBounds(Output const& output) -{ - auto oldPixelSize = GetPixelSize(); - - // Get the bounding box of the content in device units, taking into - // account the raster transform. - auto transform = m_rasterTransform.ToD2D(); - m_pixelBounds = GetPixelBounds(output, transform); - - // Round to pixel boundaries. - m_pixelBounds.left = floorf(m_pixelBounds.left); - m_pixelBounds.top = floorf(m_pixelBounds.top); - m_pixelBounds.right = ceilf(m_pixelBounds.right); - m_pixelBounds.bottom = ceilf(m_pixelBounds.bottom); - - // Ensure we recreate the drawing surface and brush if the size changes. - if (GetPixelSize() != oldPixelSize) - { - InvalidateSurface(); - } -} - -template -void D2DSprite::SetSpriteSizeAndTransform() -{ - // Get the render transform, and translate it such that the top-left corner of - // the pixel bounds is at (0, 0). - auto transform = m_rasterTransform.ToD2D(); - transform.dx = -m_pixelBounds.left; - transform.dy = -m_pixelBounds.top; - - // Set the sprite visual's transform to the inverse of the rendering transform. - // We already applied the transform when rendering the content, so the sprite visual - // itself should align with the pixel grid. - // - // For example, suppose the container visual is rotated clockwise. We apply the inverse - // transform to the sprite visual to cancel out the rotation. However, the content - // rendered to the drawing surface is rotated to match the container visual. - // - // / <-------------------- The container visual is rotated - // / - // +-----------------+ <----- The sprite visual is axis aligned - // /|******* | - // / | ******* | <----- The rendered content is rotated - // / | *******| - // / +-----------------+ - // / - transform.Invert(); - auto inverseTransform = winrt::Windows::Foundation::Numerics::float4x4( - reinterpret_cast(transform)); - m_spriteVisual.TransformMatrix(inverseTransform); - - // The inverse transform cancelled out any scaling (including DPI scale), so the - // sprite visual's size is measured in pixels. Set the sprite's size to match the - // bitmap size, so there's no bitmap scaling. - m_spriteVisual.Size(GetPixelSize()); -} - -template -void D2DSprite::RenderToDrawingSurface(Output const& output) -{ - auto drawingSurfaceInterop = m_drawingSurface.as(); - - // Get a device context that's bound to the drawing surface. - winrt::com_ptr deviceContext; - POINT pixelOffset; - winrt::check_hresult(drawingSurfaceInterop->BeginDraw( - nullptr, - __uuidof(decltype(*deviceContext)), - /*out*/ deviceContext.put_void(), - /*out*/ &pixelOffset)); - - // BeginDraw allocated a rectangle for this drawing surface in an atlas texture. - // Clip to the bounds of this rectangle. - const D2D_POINT_2F atlasOffset{ static_cast(pixelOffset.x), static_cast(pixelOffset.y) }; - deviceContext->SetUnitMode(D2D1_UNIT_MODE_PIXELS); - deviceContext->SetTransform(D2D1::Matrix3x2F::Translation(atlasOffset.x, atlasOffset.y)); - auto pixelSize = GetPixelSize(); - deviceContext->PushAxisAlignedClip({ 0, 0, pixelSize.Width, pixelSize.Height }, D2D1_ANTIALIAS_MODE_ALIASED); - - // Clear the background. - deviceContext->Clear(ToColorF(m_backgroundColor)); - - // Render using the rasterizer transform, but translated such that the top-left - // corner of the pixel bounds aligns with the atlasOffset. - auto transform = m_rasterTransform.ToD2D(); - transform.dx = atlasOffset.x - m_pixelBounds.left; - transform.dy = atlasOffset.y - m_pixelBounds.top; - deviceContext->SetTransform(transform); - - // Render the content to the surface. - RenderContent(output, deviceContext.as().get()); - - // if "Show Sprite Bounds" is enabled, draw a red rectangle around the pixel bounds. - if (output.GetSetting(Setting_ShowSpriteBounds)) - { - deviceContext->SetTransform(D2D1::Matrix3x2F::Translation(atlasOffset.x, atlasOffset.y)); - winrt::com_ptr boundsBrush; - deviceContext->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Red), boundsBrush.put()); - deviceContext->DrawRectangle({ 0, 0, pixelSize.Width, pixelSize.Height }, boundsBrush.get(), m_rasterTransform.ToScaleFactor()); - } - - // If "Show Sprite Generation" is enabled, draw the generation number. - ++m_renderGeneration; - if (output.GetSetting(Setting_ShowSpriteGeneration)) - { - static DigitRenderer renderer(/*fontSize*/ 10.0f); - - // Set a scale transform with (0,0) at the top-left of the drawing surface. - float scaleFactor = m_rasterTransform.ToScaleFactor(); - deviceContext->SetTransform( - D2D1::Matrix3x2F::Scale(scaleFactor, scaleFactor) * - D2D1::Matrix3x2F::Translation(atlasOffset.x, atlasOffset.y) - ); - - // Determine the bottom-right coordinate in logical units. - auto pixelSize2 = GetPixelSize(); - D2D_POINT_2F bottomRight{pixelSize2.Width / scaleFactor, pixelSize2.Height / scaleFactor}; - - auto Draw = [&](uint32_t value, D2D_COLOR_F const& color) - { - // Determine the bounds of the number, including padding. - auto digits = renderer.GetDigitGlyphs(value); - - constexpr float padding = 1; - D2D_RECT_F numberRect{ - bottomRight.x - renderer.Width(digits) - (padding * 2), - bottomRight.y - renderer.Height() - (padding * 2), - bottomRight.x, - bottomRight.y - }; - - // The next number will be drawn to the left of this one. - bottomRight.x = numberRect.left; - - // Determine the top-left corner of the digits. - D2D_POINT_2F numberPos{numberRect.left + padding, numberRect.top + padding}; - - // Fill the background. - winrt::com_ptr brush; - deviceContext->CreateSolidColorBrush(color, brush.put()); - deviceContext->FillRectangle(numberRect, brush.get()); - - // Draw the number. - brush->SetColor(D2D1::ColorF(D2D1::ColorF::White)); - renderer.Draw(deviceContext.get(), numberPos, digits, brush.get()); - }; - - Draw(m_renderGeneration, D2D1::ColorF(D2D1::ColorF::DarkRed)); - Draw(m_surfaceGeneration, D2D1::ColorF(D2D1::ColorF::Blue)); - } - - // Reset the transform to identity and end drawing. - deviceContext->SetTransform(D2D1::Matrix3x2F::Identity()); - winrt::check_hresult(drawingSurfaceInterop->EndDraw()); -} - -template class D2DSprite; -template class D2DSprite; diff --git a/Samples/Islands/UXFrameworksOnIslands/D2DSprite.h b/Samples/Islands/UXFrameworksOnIslands/D2DSprite.h deleted file mode 100644 index 1a6b09c1b..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/D2DSprite.h +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "OutputResource.h" -#include "TemplateHelpers.h" -#include "Matrix2x2.h" - -// Base class for objects that render to a SpriteVisual using Direct2D. -// This class derives from OutputResource so the content can be re-rendered -// if the rasterization scale changes or the device is lost. -template -class D2DSprite : public OutputResource -{ -public: - using ICompositionDrawingSurfaceInterop = typename CompositorTypes::ICompositionDrawingSurfaceInterop; - using CompositionDrawingSurface = typename CompositorTypes::CompositionDrawingSurface; - using ContainerVisual = typename CompositorTypes::ContainerVisual; - using SpriteVisual = typename CompositorTypes::SpriteVisual; - - // Constructs a D2DSPrite object. A container visual may be specified if the client - // wants multiple sprites to share the same container. - D2DSprite(Output const& output, ContainerVisual const& containerVisual = nullptr); - - // OutputResource methods. - void ReleaseDeviceDependentResources(Output const& output) override; - void EnsureInitialized(Output const& output) override; - void OnSettingChanged(Output const& output, SettingId id) override; - - void InvalidateContent(); - - // Gets the container visual, which is used for layout. The sprite visual is - // positioned at an offset from this. - auto& GetVisual() const noexcept - { - return m_containerVisual; - } - - // Getter and setter for the IsVisible property of the underlying sprite visual. - bool IsVisible() const - { - return m_spriteVisual.IsVisible(); - } - - void IsVisible(bool value) - { - m_spriteVisual.IsVisible(value); - } - - // Getter and setter for the the IsPixelSnappingEnabled property of the underlying sprite visual. - // This is true by default to avoid undesirable bitmap interpolation after the content is rendered. - bool IsPixelSnappingEnabled() const - { - return m_spriteVisual.IsPixelSnappingEnabled(); - } - - void IsPixelSnappingEnabled(bool value) - { - m_spriteVisual.IsPixelSnappingEnabled(value); - } - - winrt::Windows::UI::Color const& GetBackgroundColor() const noexcept - { - return m_backgroundColor; - } - - void SetBackgroundColor(winrt::Windows::UI::Color const& color); - -protected: - - // Gets the bounding box of the content in pixels relative to origin of the container visual. - // The default implementation computes the bounding box by rendering the content to a command - // list. A derived implementation may override this method if the bounds are easily computed. - virtual D2D1_RECT_F GetPixelBounds(Output const& output, D2D1::Matrix3x2F const& rasterTransform); - - // A derived class must implement this method to render the content. - virtual void RenderContent(Output const& output, ID2D1DeviceContext5* deviceContext) = 0; - -private: - winrt::Size GetPixelSize() const noexcept - { - return { m_pixelBounds.right - m_pixelBounds.left, m_pixelBounds.bottom - m_pixelBounds.top }; - } - - void InvalidateSurface(); - void InitializePixelBounds(Output const& output); - void SetSpriteSizeAndTransform(); - void RenderToDrawingSurface(Output const& output); - Matrix2x2 ComputeRasterTransform(Output const& output) const; - - winrt::Windows::UI::Color m_backgroundColor = winrt::Windows::UI::Colors::Transparent(); - - ContainerVisual m_containerVisual = nullptr; - SpriteVisual m_spriteVisual = nullptr; - CompositionDrawingSurface m_drawingSurface{ nullptr }; - bool m_isContentValid = false; - uint32_t m_surfaceGeneration = 0; - uint32_t m_renderGeneration = 0; - - Matrix2x2 m_rasterTransform; - D2D1_RECT_F m_pixelBounds = {}; -}; - -using LiftedD2DSprite = D2DSprite; -using SystemD2DSprite = D2DSprite; - -// Trivial conversion helpers. -inline D2D_COLOR_F ToColorF(winrt::Windows::UI::Color const& color) noexcept -{ - return { color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f }; -} - -inline D2D_SIZE_F ToSizeF(winrt::Size const& size) noexcept -{ - return { static_cast(size.Width), static_cast(size.Height) }; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/DXDevice.cpp b/Samples/Islands/UXFrameworksOnIslands/DXDevice.cpp deleted file mode 100644 index b34f6650b..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/DXDevice.cpp +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "Output.h" - -DXDevice::DXDevice() -{ - // Create the D2D factory. - winrt::check_hresult(D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED, m_d2dFactory.put())); - - InitializeDevice(); -} - -void DXDevice::RecreateDevice() -{ - // Release resources used by the old device. - m_d3dDevice = nullptr; - m_d2dDevice = nullptr; - m_deviceContext = nullptr; - - // Create the new device. - InitializeDevice(); -} - -void DXDevice::InitializeDevice() -{ - uint32_t createDeviceFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT; - - // Array with DirectX hardware feature levels in order of preference. - static const D3D_FEATURE_LEVEL featureLevels[] = - { - D3D_FEATURE_LEVEL_11_1, - D3D_FEATURE_LEVEL_11_0, - D3D_FEATURE_LEVEL_10_1, - D3D_FEATURE_LEVEL_10_0, - D3D_FEATURE_LEVEL_9_3, - D3D_FEATURE_LEVEL_9_2, - D3D_FEATURE_LEVEL_9_1 - }; - // Create the Direct3D 11 API device object and a corresponding context. - winrt::com_ptr d3dDevice; - winrt::com_ptr d3dImmediateContext; - D3D_FEATURE_LEVEL d3dFeatureLevel{ D3D_FEATURE_LEVEL_9_1 }; - - winrt::check_hresult(D3D11CreateDevice( - nullptr, // Default adapter. - D3D_DRIVER_TYPE_HARDWARE, - 0, // Not asking for a software driver, so not passing a module to one. - createDeviceFlags, // Set debug and Direct2D compatibility flags. - featureLevels, - ARRAYSIZE(featureLevels), - D3D11_SDK_VERSION, - d3dDevice.put(), - &d3dFeatureLevel, - d3dImmediateContext.put())); - - // Obtain the underlying DXGI device of the Direct3D device. - auto dxgiDevice = d3dDevice.as(); - - // Create the Direct2D device object. - D2D1_FACTORY_OPTIONS d2d1FactoryOptions{ D2D1_DEBUG_LEVEL_NONE }; - winrt::com_ptr d2dDevice; - winrt::check_hresult(m_d2dFactory->CreateDevice( - dxgiDevice.get(), - d2dDevice.put())); - - // Create the Direct2D device context. - winrt::com_ptr deviceContext; - winrt::check_hresult(d2dDevice->CreateDeviceContext( - D2D1_DEVICE_CONTEXT_OPTIONS_NONE, - deviceContext.put())); - - // Commit changes. - m_d3dDevice = d3dDevice.as(); - m_d2dDevice = std::move(d2dDevice); - m_deviceContext = std::move(deviceContext); -} - diff --git a/Samples/Islands/UXFrameworksOnIslands/DXDevice.h b/Samples/Islands/UXFrameworksOnIslands/DXDevice.h deleted file mode 100644 index 17a379bb5..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/DXDevice.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -class DXDevice final -{ -public: - DXDevice(); - - void RecreateDevice(); - - auto& GetD3DDevice() const noexcept - { - return m_d3dDevice; - } - - auto& GetD2DDevice() const noexcept - { - return m_d2dDevice; - } - - auto& GetDeviceContext() const noexcept - { - return m_deviceContext; - } - -private: - void InitializeDevice(); - - winrt::com_ptr m_d2dFactory; - winrt::com_ptr m_d3dDevice; - winrt::com_ptr m_d2dDevice; - winrt::com_ptr m_deviceContext; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/EventRevokers.h b/Samples/Islands/UXFrameworksOnIslands/EventRevokers.h deleted file mode 100644 index cae0b8c2e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/EventRevokers.h +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#define EVENT_REVOKER_IMPLEMENTATION(WinRTNamespace, WinRTObject, EventMethod) \ -struct WinRTObject##EventMethod##_revoker \ -{ \ - explicit WinRTObject##EventMethod##_revoker() noexcept = default; \ -\ - WinRTObject##EventMethod##_revoker(WinRTObject##EventMethod##_revoker const&) = delete; \ - WinRTObject##EventMethod##_revoker& operator=(WinRTObject##EventMethod##_revoker const&) = delete; \ -\ - WinRTObject##EventMethod##_revoker(WinRTObject##EventMethod##_revoker&&) = delete; \ - WinRTObject##EventMethod##_revoker& operator=(WinRTObject##EventMethod##_revoker&& other) noexcept \ - { \ - if (&other != this) \ - { \ - Revoke(); \ -\ - m_object = other.m_object; \ - m_token = other.m_token; \ -\ - other.m_object = nullptr; \ - other.m_token.value = 0; \ - } \ -\ - return *this; \ - } \ -\ - WinRTObject##EventMethod##_revoker(WinRTNamespace::WinRTObject const& object, winrt::event_token const& token) noexcept : m_object{ object }, m_token{ token } {} \ - ~WinRTObject##EventMethod##_revoker() noexcept { Revoke(); } \ -\ - void Revoke() noexcept \ - { \ - if (nullptr != m_object) \ - { \ - m_object.EventMethod(m_token); \ - m_object = nullptr; \ - m_token.value = 0; \ - } \ - } \ -\ -private: \ - WinRTNamespace::WinRTObject m_object{ nullptr }; \ - winrt::event_token m_token{}; \ -}; - -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ContentIsland, AutomationProviderRequested) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ContentIsland, StateChanged) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ContentIslandEnvironment, StateChanged) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ChildSiteLink, ParentAutomationProviderRequested) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ChildSiteLink, NextSiblingAutomationProviderRequested) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ChildSiteLink, PreviousSiblingAutomationProviderRequested) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Content, ChildSiteLink, FragmentRootAutomationProviderRequested) -EVENT_REVOKER_IMPLEMENTATION(winrt::Microsoft::UI::Windowing, AppWindow, Closing) diff --git a/Samples/Islands/UXFrameworksOnIslands/FocusList.cpp b/Samples/Islands/UXFrameworksOnIslands/FocusList.cpp deleted file mode 100644 index 0678b5570..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FocusList.cpp +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "FocusList.h" - -#include "FocusManager.h" -#include "VisualTreeNode.h" - -void FocusList::AddVisual(const std::shared_ptr& visualNode) -{ - m_itemList.emplace_back(FocusListItem{ visualNode }); - visualNode->OwningFocusList(weak_from_this()); -} - -void FocusList::AddPlaceholder() -{ - m_itemList.emplace_back(FocusListItem{}); -} - -void FocusList::SetChildFocusList(const std::shared_ptr& childList, int index) -{ - m_itemList[index].m_value = childList; - - childList->m_parentList = weak_from_this(); - - if (m_managerWeak != nullptr) - { - childList->SetManager(m_managerWeak); - } -} - -void FocusList::SetChildSiteLink(const winrt::ChildSiteLink& link, int index) -{ - auto navigationHost = winrt::InputFocusNavigationHost::GetForSiteLink(link); - - m_itemList[index].m_value = navigationHost; - - if (m_managerWeak != nullptr) - { - m_managerWeak->RegisterForDepartFocus(navigationHost, shared_from_this(), index); - } -} - -void FocusList::SetManager(FocusManager* manager) -{ - m_managerWeak = manager; - - size_t index = 0; - for (auto& item : m_itemList) - { - if (item.IsChildList()) - { - item.GetChildList()->SetManager(manager); - } - else if (item.IsFocusNavigation()) - { - manager->RegisterForDepartFocus(item.GetFocusNavigation(), shared_from_this(), index); - } - - index++; - } -} - -size_t FocusList::IndexOf(const std::shared_ptr& node) const -{ - auto iter = std::find(m_itemList.begin(), m_itemList.end(), node); - return std::distance(m_itemList.begin(), iter); -} - -size_t FocusList::IndexOf(const std::shared_ptr& list) const -{ - auto iter = std::find(m_itemList.begin(), m_itemList.end(), list); - return std::distance(m_itemList.begin(), iter); -} - -size_t FocusList::IndexOf(const winrt::InputFocusNavigationHost& navigationHost) const -{ - auto iter = std::find(m_itemList.begin(), m_itemList.end(), navigationHost); - return std::distance(m_itemList.begin(), iter); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/FocusList.h b/Samples/Islands/UXFrameworksOnIslands/FocusList.h deleted file mode 100644 index b8ad0b3e6..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FocusList.h +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -struct VisualTreeNode; -class FocusManager; -class FocusList; - -// FocusListItem is essentially a union that holds one of 4 values: -// - An empty placeholder -// - A VisualTreeNode -// - A FocusList -// - A winrt::InputFocusNavigationHost -struct FocusListItem -{ - std::variant< - std::monostate, - std::shared_ptr, - std::shared_ptr, - winrt::InputFocusNavigationHost> m_value; - - bool IsVisual() const { return std::holds_alternative>(m_value); } - bool IsChildList() const { return std::holds_alternative>(m_value); } - bool IsFocusNavigation() const { return std::holds_alternative(m_value); } - - const std::shared_ptr& GetVisual() const { return std::get>(m_value); } - const std::shared_ptr& GetChildList() const { return std::get>(m_value); } - const winrt::InputFocusNavigationHost& GetFocusNavigation() const { return std::get(m_value); } - - bool operator==(const std::shared_ptr& node) const - { - return IsVisual() && GetVisual() == node; - } - - bool operator==(const std::shared_ptr& list) const - { - return IsChildList() && GetChildList() == list; - } - - bool operator==(const winrt::InputFocusNavigationHost& navigationHost) const - { - return IsFocusNavigation() && GetFocusNavigation() == navigationHost; - } -}; - -// A focus list is used to determine what order focus should navigate through when pressing tab. -// Since we have multiple frames that are connected together, focus operates on a tree of FocusLists, -// one for each frame. A child list is either added directly or indirectly through an -// InputNavigationHost which can send navigation requests to the connected island. -class FocusList : public std::enable_shared_from_this -{ -public: - static std::shared_ptr Create() - { - return std::make_shared(); - } - - void AddVisual(const std::shared_ptr& visualNode); - void AddPlaceholder(); // To be filled with a FocusList or ChildSiteLink later - - // Fill previously set placeholder with a child FocusList - void SetChildFocusList(const std::shared_ptr& childList, int index); - - // Fill previously set placeholder with a ChildSiteLink - void SetChildSiteLink(const winrt::ChildSiteLink& link, int index); - - void SetManager(FocusManager* manager); - FocusManager* GetManager() const { return m_managerWeak; } - - const FocusListItem& operator[](size_t index) const { return m_itemList[index]; } - - size_t Size() const { return m_itemList.size(); } - std::shared_ptr GetParent() const { return m_parentList.lock(); } - - size_t IndexOf(const std::shared_ptr& node) const; - size_t IndexOf(const std::shared_ptr& list) const; - size_t IndexOf(const winrt::InputFocusNavigationHost& navigationHost) const; - -private: - std::vector m_itemList{}; - std::weak_ptr m_parentList{}; - FocusManager* m_managerWeak{ nullptr }; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/FocusManager.cpp b/Samples/Islands/UXFrameworksOnIslands/FocusManager.cpp deleted file mode 100644 index 3bcd1ca7e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FocusManager.cpp +++ /dev/null @@ -1,310 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "FocusManager.h" - -#include "FocusList.h" -#include "VisualTreeNode.h" - -FocusManager::FocusManager( - const std::shared_ptr& rootList) : - m_rootList(rootList) -{ - m_rootList->SetManager(this); -} - -void FocusManager::InitializeWithFocusController( - const winrt::InputFocusController& focusController) -{ - m_focusController = focusController; - - // Listen for if our parent island is moving focus into this island. - m_focusController.NavigateFocusRequested( - [this](auto&& /*sender*/, const winrt::FocusNavigationRequestEventArgs& args) { - if (args.Request().Reason() == winrt::FocusNavigationReason::First) - { - SetFocusToFirst(); - } - else if (args.Request().Reason() == winrt::FocusNavigationReason::Last) - { - SetFocusToLast(); - } - - args.Result(winrt::FocusNavigationResult::Moved); - }); - - m_focusController.GotFocus( - [this](auto&& /*sender*/, auto&& /*args*/) - { - RestoreFocus(); - }); - - m_focusController.LostFocus( - [this](auto&& /*sender*/, auto&& /*args*/) - { - ClearFocus(); - }); -} - -void FocusManager::InitializeWithFocusHost( - IFocusHost* focusHost) -{ - m_focusHost = focusHost; -} - -void FocusManager::SetFocusToVisual( - const std::shared_ptr& node, - const std::shared_ptr& list) -{ - ClearFocus(); - - node->IsBorderVisible(true); - - m_focusedList = list; - m_focusedIndex = list->IndexOf(node); - EnsureWin32Focus(); -} - -void FocusManager::ClearFocus() -{ - if (m_focusedList != nullptr) - { - CurrentItem().GetVisual()->IsBorderVisible(false); - } -} - -void FocusManager::RestoreFocus() -{ - if (m_focusedList != nullptr) - { - CurrentItem().GetVisual()->IsBorderVisible(true); - } -} - -void FocusManager::NavigateForward() -{ - if (m_focusedList != nullptr) - { - NavigateWorker(m_focusedList, m_focusedIndex + 1, true /*forward*/); - } - else - { - SetFocusToFirst(); - } -} - -void FocusManager::NavigateBackward() -{ - if (m_focusedList != nullptr) - { - NavigateWorker(m_focusedList, m_focusedIndex - 1, false /*forward*/); - } - else - { - SetFocusToLast(); - } -} - -void FocusManager::SetFocusToFirst() -{ - NavigateWorker(m_rootList, 0, true /*forward*/); -} - -void FocusManager::SetFocusToLast() -{ - size_t index = m_rootList->Size() - 1; - NavigateWorker(m_rootList, index, false /*forward*/); -} - -void FocusManager::RegisterForDepartFocus( - const winrt::InputFocusNavigationHost& navigationHost, - const std::shared_ptr& list, - size_t index) -{ - std::weak_ptr weakList = list; - navigationHost.DepartFocusRequested( - [this, index, weakList](auto&& /*sender*/, const winrt::FocusNavigationRequestEventArgs& args) { - auto list = weakList.lock(); - if (list == nullptr) - { - args.Result(winrt::FocusNavigationResult::NoFocusableElements); - return; - } - - // If the child hit its last element, and wants to depart, we need to navigate forward. - bool forward = args.Request().Reason() == winrt::FocusNavigationReason::Last; - - size_t newIndex = forward ? index + 1 : index - 1; - NavigateWorker(list, newIndex, forward); - - args.Result(winrt::FocusNavigationResult::Moved); - }); -} - -void FocusManager::NavigateWorker( - const std::shared_ptr& currentList, - size_t currentIndex, - bool forward) -{ - // Run additional logic to handle falling off the end of the list or going into a child list. - size_t targetIndex = 0; - std::shared_ptr targetList = TryResolveNavigateTarget( - currentList, - currentIndex, - forward, - &targetIndex); - - // Unset the focus border if we have any. - ClearFocus(); - - if (targetList == nullptr) - { - // No target - we need to depart focus out of this island. - DepartImpl(forward); - return; - } - - auto& item = (*targetList)[targetIndex]; - - if (item.IsVisual()) - { - m_focusedList = targetList; - m_focusedIndex = targetIndex; - - EnsureWin32Focus(); - item.GetVisual()->IsBorderVisible(true); - } - else if (item.IsFocusNavigation()) - { - m_focusedList = nullptr; - m_focusedIndex = 0; - - // Send request to push focus to child island. - winrt::InputFocusNavigationHost focusNavigation = item.GetFocusNavigation(); - auto request = winrt::FocusNavigationRequest::Create( - forward ? winrt::FocusNavigationReason::First : winrt::FocusNavigationReason::Last); - auto result = focusNavigation.NavigateFocus(request); - if (result == winrt::FocusNavigationResult::NoFocusableElements) - { - // Skip this one and try navigating again. - targetIndex += forward ? 1 : -1; - NavigateWorker(targetList, targetIndex, forward); - } - } -} - -/*static*/ -std::shared_ptr FocusManager::TryResolveNavigateTarget( - const std::shared_ptr& currentList, - size_t currentIndex, - bool forward, - size_t* outNewIndex) -{ - // A valid target for navigation is either a visual or a focus navigation host. - // These operations need to be applied to find a valid target: - // - If the index given is outside of the bounds ("falling off the end"), we need to navigate up - // to the parent list. - // - If the index given is a child list, we need to navigate into that child list. - // - If the index given is an empty placeholder, we need to skip it. - // - // If navigation ends up going off the end of the root list, then there is no valid target and - // will return nullptr. - - std::shared_ptr nextList = currentList; - size_t nextIndex = currentIndex; - - while (nextList != nullptr) - { - if (nextIndex >= 0 && nextIndex < nextList->Size()) - { - // We're in bounds. - auto& item = (*nextList)[nextIndex]; - if (item.IsChildList()) - { - // Try the child list next. - nextList = item.GetChildList(); - nextIndex = forward ? 0 : nextList->Size() - 1; - } - else if (item.IsVisual() || item.IsFocusNavigation()) - { - // Found a valid target. - break; - } - else - { - // Empty placeholder, skip it. - nextIndex += forward ? 1 : -1; - } - } - else - { - // Out of bounds. - // Go up to the parent and increment. - auto parent = nextList->GetParent(); - if (parent != nullptr) - { - nextIndex = parent->IndexOf(nextList); - nextIndex += forward ? 1 : -1; - } - - nextList = parent; - } - } - - *outNewIndex = nextIndex; - return nextList; -} - -void FocusManager::DepartImpl( - bool forward) -{ - m_focusedList = nullptr; - m_focusedIndex = 0; - - bool wrapAround = false; - - if (m_focusController != nullptr) - { - // If we're going forward then it means we've hit the Last element. - auto reason = forward ? winrt::FocusNavigationReason::Last : winrt::FocusNavigationReason::First; - auto request = winrt::FocusNavigationRequest::Create(reason); - auto result = m_focusController.DepartFocus(request); - if (result == winrt::FocusNavigationResult::NoFocusableElements) - { - wrapAround = true; - } - } - else - { - // No focus controller means there is no parent frame (there's an IFocusHost instead), so - // just wrap around. - wrapAround = true; - } - - if (wrapAround) - { - if (forward) - { - SetFocusToFirst(); - } - else - { - SetFocusToLast(); - } - } -} - -void FocusManager::EnsureWin32Focus() -{ - if (m_focusController != nullptr) - { - if (!m_focusController.HasFocus()) - { - m_focusController.TrySetFocus(); - } - } - else - { - m_focusHost->EnsureWin32Focus(); - } -} \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/FocusManager.h b/Samples/Islands/UXFrameworksOnIslands/FocusManager.h deleted file mode 100644 index 051a32195..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FocusManager.h +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "FocusList.h" -#include "IFocusHost.h" - -// A focus manager is responsible for determining what specific VisualTreeNode has focus as well as -// setting, clearing, and navigating focus. -// A focus manager can be responsible for multiple frames, each with their own FocusList that are -// assembled into a tree. This is what gets navigated when pressing tab. -// A focus manager will also send/respond to focus navigation requests for child and parent islands. -// -// A focus manager can be initialized in one of two ways: -// - With an InputFocusController, which is used for lifted islands -// - With an IFocusHost, which is used for the very root frame as a wrapper for a Win32 window. -class FocusManager -{ -public: - FocusManager( - const std::shared_ptr& rootList); - - void InitializeWithFocusController( - const winrt::InputFocusController& focusController); - - void InitializeWithFocusHost( - IFocusHost* focusHost); - - void SetFocusToVisual( - const std::shared_ptr& node, - const std::shared_ptr& list); - - void ClearFocus(); - void RestoreFocus(); - - void NavigateForward(); - void NavigateBackward(); - - void SetFocusToFirst(); - void SetFocusToLast(); - - // Called by focus lists - - void RegisterForDepartFocus( - const winrt::InputFocusNavigationHost& navigationHost, - const std::shared_ptr& list, - size_t index); - -private: - const FocusListItem& CurrentItem() const { return (*m_focusedList)[m_focusedIndex]; } - - // The actual navigation implementation. This moves focus to a specific index in a specific list. - // Note that navigation is always associated with a direction, so that the start or end of a - // child list can be specified if needed. - // Note also that 'currentIndex' does not need to be in bounds for the list. - void NavigateWorker( - const std::shared_ptr& currentList, - size_t currentIndex, - bool forward); - - // This helper does the walk through the tree of FocusLists to find a valid target. - // If no target is found it will return nullptr. - // 'currentIndex' does not need to be in bounds. - static std::shared_ptr TryResolveNavigateTarget( - const std::shared_ptr& currentList, - size_t currentIndex, - bool forward, - size_t* outNewIndex); - - // Depart focus to the parent frame / focus host of the focus manager. - void DepartImpl(bool forward); - - void EnsureWin32Focus(); - - std::shared_ptr m_rootList{}; - std::shared_ptr m_focusedList{}; - size_t m_focusedIndex{ 0 }; - - // Only one of these two will be valid depending on how the focus manager was initialized. - winrt::InputFocusController m_focusController{ nullptr }; - IFocusHost* m_focusHost{ nullptr }; -}; \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/FrameDocker.cpp b/Samples/Islands/UXFrameworksOnIslands/FrameDocker.cpp deleted file mode 100644 index 07b75319c..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FrameDocker.cpp +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "FrameDocker.h" - -// Shrinks the bounding rectangle by the specified amount on all sides. -void FrameDocker::Inset(float left, float top, float right, float bottom) noexcept -{ - InsetLeft(left); - InsetTop(top); - InsetRight(right); - InsetBottom(bottom); -} - -void FrameDocker::InsetLeft(float inset) noexcept -{ - m_left = RoundToPixel(m_left + inset); - m_left = std::min(m_left, m_right); -} - -void FrameDocker::InsetTop(float inset) noexcept -{ - m_top = RoundToPixel(m_top + inset); - m_top = std::min(m_top, m_bottom); -} - -void FrameDocker::InsetRight(float inset) noexcept -{ - m_right = RoundToPixel(m_right - inset); - m_right = std::max(m_left, m_right); -} - -void FrameDocker::InsetBottom(float inset) noexcept -{ - m_bottom = RoundToPixel(m_bottom - inset); - m_bottom = std::max(m_top, m_bottom); -} - -winrt::Windows::Foundation::Rect FrameDocker::DockTop(float height) -{ - // Compute the Y coordinate of the boundary between the docked item - // (above) and the remaining available space (below). - float y = m_top + std::max(height, 0.0f); - - // Round to a pixel boundary, and clamp to the bounding rectange. - y = RoundToPixel(y); - y = std::min(y, m_bottom); - - // Compute the bounding rectange of the docked item. - winrt::Windows::Foundation::Rect dockedRect{ - /*X*/ m_left, - /*Y*/ m_top, - /*Width*/ m_right - m_left, - /*Height*/ y - m_top - }; - - // The new available bounds is below y. - m_top = y; - - return dockedRect; -} - -winrt::Windows::Foundation::Rect FrameDocker::DockLeft(float width) -{ - // Compute the X coordinate of the boundary between the docked item - // (left) and the remaining available space (right). - float x = m_left + std::max(width, 0.0f); - - // Round to a pixel boundary, and clamp to the bounding rectange. - x = RoundToPixel(x); - x = std::min(x, m_right); - - // Compute the bounding rectange of the docked item. - winrt::Windows::Foundation::Rect dockedRect{ - /*X*/ m_left, - /*Y*/ m_top, - /*Width*/ x - m_left, - /*Height*/ m_bottom - m_top - }; - - // The new available bounds is to the right of x. - m_left = x; - - return dockedRect; -} - -winrt::Windows::Foundation::Rect FrameDocker::DockFill() -{ - return winrt::Windows::Foundation::Rect{ - /*X*/ m_left, - /*Y*/ m_top, - /*Width*/ m_right - m_left, - /*Height*/ m_bottom - m_top - }; -} - -float FrameDocker::RoundToPixel(float logicalCoord) -{ - if (m_rasterizationScale != 0) - { - // Convert to device units, round, and convert back. - float pixelCoord = logicalCoord * m_rasterizationScale; - return floorf(pixelCoord + 0.5f) / m_rasterizationScale; - } - else - { - // No rasterization scale specified: do not round. - return logicalCoord; - } -} diff --git a/Samples/Islands/UXFrameworksOnIslands/FrameDocker.h b/Samples/Islands/UXFrameworksOnIslands/FrameDocker.h deleted file mode 100644 index e901dee20..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/FrameDocker.h +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -// -// Helper class used by frames to partition a rectangle (frame) into subrectangles for different visuals. -// -// If a nonzero rasterization scale is specified, the class guarantees that subrectangles are aligned on -// pixel boundaries. The implementation assumes that the origin of the coordinate space is pixel-aligned. -// -// The class keeps track of the "available" rectangle not yet allocated to any visual. The Left, Top, -// Right, and Bottom method return the bounds of the available rectangle in logical units. -// -// The Inset* methods shrink the available rectangle to create white space. -// -// The DockTop* methods partition the available rectangle horizontally. The top partition is allocated -// to the specified visual and the bottom partition becomes the new available rectangle. -// -// The DockLeft* methods partition the available rectangle vertically. The left partition is allocated -// to the specified visual and the right partition becomes the new available retangle. -// -// The DockFill method allocates the remaining available rectange to the specified visual. -// -class FrameDocker -{ -public: - FrameDocker(winrt::Windows::Foundation::Numerics::float2 frameSize, float rasterizationScale) : - m_right(frameSize.x), - m_bottom(frameSize.y), - m_rasterizationScale(rasterizationScale) - { - } - - // Getters for the available bounding rectangle. - float Left() const noexcept { return m_left; } - float Top() const noexcept { return m_top; } - float Right() const noexcept { return m_right; } - float Bottom() const noexcept { return m_bottom; } - - // Shrinks the available bounding rectangle by the specified amount. - void Inset(float inset) noexcept - { - Inset(inset, inset, inset, inset); - } - void Inset(float left, float top, float right, float bottom) noexcept; - void InsetLeft(float inset) noexcept; - void InsetTop(float inset) noexcept; - void InsetRight(float inset) noexcept; - void InsetBottom(float inset) noexcept; - - // DockTop partitions the available rectangle horizontally, allocating - // the top partition to the docked visual. - winrt::Windows::Foundation::Rect DockTop(float height); - - template - void DockTop(T& visual, float height) - { - SetVisualBounds(visual, DockTop(height)); - } - - template - void DockTopRelative(T& visual, float relativeHeight) - { - DockTop(visual, relativeHeight * (m_bottom - m_top)); - } - - template - void DockTopRelativeWithMargin(T& visual, float relativeHeight, float margin) - { - DockTop(visual, relativeHeight * (m_bottom - m_top - margin)); - InsetTop(margin); - } - - // DockLeft partitions the available rectangle vertically, allocating - // the left partition to the docked visual. - winrt::Windows::Foundation::Rect DockLeft(float width); - - template - void DockLeft(T& visual, float width) - { - SetVisualBounds(visual, DockLeft(width)); - } - - template - void DockLeftRelative(T& visual, float relativeWidth) - { - DockLeft(visual, relativeWidth * (m_right - m_left)); - } - - template - void DockLeftRelativeWithMargin(T& visual, float relativeWidth, float margin) - { - DockLeft(visual, relativeWidth * (m_right - m_left - margin)); - InsetLeft(margin); - } - - // DockFill allocates the available rectangle to the specified visual. - winrt::Windows::Foundation::Rect DockFill(); - - template - void DockFill(T& visual) - { - SetVisualBounds(visual, DockFill()); - } - -private: - template - void SetVisualBounds(T& visual, winrt::Windows::Foundation::Rect const& rect) - { - visual.Offset({rect.X, rect.Y, 0.0f}); - visual.Size({rect.Width, rect.Height}); - } - - float RoundToPixel(float logicalCoord); - - // Bounding rectangle of the "available" space not yet allocated to any visual. - float m_left = 0; - float m_top = 0; - float m_right = 0; - float m_bottom = 0; - - // Rasterization scale, used for rounding logical coordinates to pixel boundaries. - float m_rasterizationScale = 1; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/HitTestContext.cpp b/Samples/Islands/UXFrameworksOnIslands/HitTestContext.cpp deleted file mode 100644 index 65191081f..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/HitTestContext.cpp +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "HitTestContext.h" - -#include "FocusList.h" -#include "FocusManager.h" -#include "VisualTreeNode.h" - -HitTestContext::HitTestContext( - FocusManager& focusManager, - const std::shared_ptr& rootNode) : - m_focusManager(focusManager), - m_rootNode(rootNode) -{ -} - -void HitTestContext::RunHitTest( - const winrt::Point& point, - bool isRightClick) -{ - m_isRightClick = isRightClick; - - // Ask the VisualTreeNode to hittest the point down to a visual. - auto hitTestResult = m_rootNode->HitTestInTreeRootCoordinates(point); - - // Walk up the tree to find the first node that has a callback, and the first node that is - // focusable. - auto currentNode = hitTestResult; - while (currentNode != nullptr) - { - if (!m_foundCallbackNode) - { - if (auto& callback = currentNode->HitTestCallback()) - { - std::optional localPoint = TryConvertToLocalPoint( - currentNode->Transform4x4(), - point); - if (localPoint.has_value()) - { - m_point = *localPoint; - bool handled = callback(*this); - - if (handled) - { - m_foundCallbackNode = true; - } - } - } - } - - if (!m_foundFocusNode) - { - auto focusList = currentNode->OwningFocusList(); - if (focusList != nullptr) - { - m_focusManager.SetFocusToVisual(currentNode, focusList); - m_foundFocusNode = true; - } - } - - if (m_foundCallbackNode && m_foundFocusNode) - { - break; - } - - currentNode = currentNode->Parent(); - } -} - -/*static*/ -void HitTestContext::ConfigureCrossTreeConnection( - const std::shared_ptr& parent, - const std::shared_ptr& child) -{ - parent->HitTestCallback([child](HitTestContext& context) { - return context.ForwardToCrossTree(child); - }); -} - -bool HitTestContext::ForwardToCrossTree( - const std::shared_ptr& childNode) -{ - HitTestContext childContext{ m_focusManager, childNode }; - childContext.m_foundCallbackNode = m_foundCallbackNode; - childContext.m_foundFocusNode = m_foundFocusNode; - - // m_point is already in child frame's coordinates - childContext.RunHitTest(m_point, m_isRightClick); - - m_foundCallbackNode = childContext.m_foundCallbackNode; - m_foundFocusNode = childContext.m_foundFocusNode; - - return m_foundCallbackNode; -} - -/*static*/ -std::optional HitTestContext::TryConvertToLocalPoint( - const winrt::float4x4& localToRootTransform, - const winrt::Point& point) -{ - winrt::float4x4 rootToLocalTransform; - bool success = winrt::invert(localToRootTransform, &rootToLocalTransform); - if (!success) - { - return std::nullopt; - } - - winrt::float2 rootPoint = winrt::float2{ point.X, point.Y }; - winrt::float2 localPoint = winrt::transform(rootPoint, rootToLocalTransform); - - return winrt::Point{ localPoint.x, localPoint.y }; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/HitTestContext.h b/Samples/Islands/UXFrameworksOnIslands/HitTestContext.h deleted file mode 100644 index 2e86eb888..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/HitTestContext.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -struct VisualTreeNode; -class FocusManager; - -class HitTestContext -{ -public: - HitTestContext( - FocusManager& focusManager, - const std::shared_ptr& rootNode); - - void RunHitTest(const winrt::Point& point, bool isRightClick); - - const winrt::Point& Point() const noexcept { return m_point; } - - bool IsRightClick() const noexcept { return m_isRightClick; } - - // Sets up a hit test connection between two nodes in different trees. - // The hit test will act as if the child node is a child of the parent node. - static void ConfigureCrossTreeConnection( - const std::shared_ptr& parent, - const std::shared_ptr& child); - -private: - bool ForwardToCrossTree( - const std::shared_ptr& childNode); - - // Returns nullopt if a conversion can't be done - for example the transform isn't invertible. - static std::optional TryConvertToLocalPoint( - const winrt::float4x4& localToRootTransform, - const winrt::Point& point); - - winrt::Point m_point; - FocusManager& m_focusManager; - std::shared_ptr m_rootNode; - bool m_isRightClick = false; - bool m_foundCallbackNode = false; - bool m_foundFocusNode = false; -}; - -using HitTestCallback = std::function; diff --git a/Samples/Islands/UXFrameworksOnIslands/IFocusHost.h b/Samples/Islands/UXFrameworksOnIslands/IFocusHost.h deleted file mode 100644 index d81adbe09..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/IFocusHost.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -// Interface that represents a host that wraps a Win32 window and has specific focus-related -// operations. -struct IFocusHost -{ - virtual ~IFocusHost() = default; - - virtual void EnsureWin32Focus() const = 0; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/IFrame.h b/Samples/Islands/UXFrameworksOnIslands/IFrame.h deleted file mode 100644 index 279a63400..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/IFrame.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include -#include "VisualTreeNode.h" -#include "FocusList.h" - -struct IFrame -{ - virtual ~IFrame() = default; - - [[nodiscard]] virtual winrt::com_ptr<::IRawElementProviderFragmentRoot> GetAutomationProvider() const = 0; - - [[nodiscard]] virtual winrt::ContentCoordinateConverter GetConverter() const = 0; - - [[nodiscard]] virtual winrt::ContentIsland GetIsland() const = 0; - - [[nodiscard]] virtual std::shared_ptr GetRootVisualTreeNode() const = 0; - - [[nodiscard]] virtual std::shared_ptr GetFocusList() const = 0; - - [[nodiscard]] virtual bool IsLiftedFrame() const = 0; - - virtual bool SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM lParam) = 0; - - virtual LRESULT HandleMessage( - UINT message, - WPARAM wParam, - LPARAM lParam, - _Out_ bool* handled) = 0; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/IFrameHost.h b/Samples/Islands/UXFrameworksOnIslands/IFrameHost.h deleted file mode 100644 index e223b88e2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/IFrameHost.h +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "IFrame.h" - -struct IFrameHost -{ - virtual ~IFrameHost() = default; - - [[nodiscard]] virtual winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootProviderForChildFrame(_In_ IFrame const* const sender) const = 0; - - [[nodiscard]] virtual winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingProviderForChildFrame(_In_ IFrame const* const sender) const = 0; - - [[nodiscard]] virtual winrt::com_ptr<::IRawElementProviderFragment> GetParentProviderForChildFrame(_In_ IFrame const* const sender) const = 0; - - [[nodiscard]] virtual winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const sender) const = 0; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.cpp deleted file mode 100644 index e85111996..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "LiftedFrame.h" - -LiftedFrame::LiftedFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings) : - SettingChangedHandler(settings), - m_output(compositor, settings) -{ - auto rootVisual = compositor.CreateContainerVisual(); - rootVisual.RelativeSizeAdjustment({1.0f, 1.0f}); - m_rootVisualTreeNode = VisualTreeNode::Create(rootVisual.as<::IUnknown>()); - m_island = winrt::ContentIsland::Create(rootVisual); - m_automationTree = AutomationTree::Create(this, L"LiftedFrame", UIA_PaneControlTypeId); - - m_focusList = FocusList::Create(); - m_focusList->AddVisual(m_rootVisualTreeNode); - - // Set up a handler for size changes - m_islandStateChangedRevoker = { m_island, m_island.StateChanged([&]( - auto&&, - winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs const& args) - { - if (args.DidRasterizationScaleChange()) - { - auto matrix = GetIsland().LocalToClientTransformMatrix(); - m_output.SetRasterizationTransform(Matrix2x2(matrix)); - } - - if (args.DidActualSizeChange() || - args.DidRasterizationScaleChange()) - { - HandleContentLayout(); - } - }) }; - - HandleContentLayout(); -} - -void LiftedFrame::OnSettingChanged(SettingId id) -{ - GetOutput().GetResourceList()->OnSettingChanged(GetOutput(), id); - - if (id == Setting_DisablePixelSnapping || id == Setting_ShowPopupVisual) - { - HandleContentLayout(); - } -} - -winrt::ChildSiteLink LiftedFrame::ConnectChildFrame( - IFrame* frame, - const winrt::ContainerVisual& childPlacementVisual) -{ - auto childSiteLink = winrt::ChildSiteLink::Create(m_island, childPlacementVisual); - - // If we are connecting to a system island we need to mark the link - // appropriately. This can go away once we support input in a system island. - if (!frame->IsLiftedFrame()) - { - childSiteLink.AutomationOption(winrt::ContentAutomationOptions::None); - childSiteLink.ProcessesKeyboardInput(false); - childSiteLink.ProcessesPointerInput(false); - } - else - { - childSiteLink.AutomationOption(winrt::ContentAutomationOptions::FragmentBased); - } - - childSiteLink.Connect(frame->GetIsland()); - - return childSiteLink; -} - -winrt::DesktopPopupSiteBridge LiftedFrame::ConnectPopupFrame( - IFrame* frame) -{ - auto desktopPopupSiteBridge = winrt::DesktopPopupSiteBridge::Create(m_island); - - // If we are connecting to a system island we need to mark the popup - // appropriately. This can go away once we support input in a system island. - if (!frame->IsLiftedFrame()) - { - // Currently, we don't support hosting SystemFrames in DesktopPopupSiteBridge. - } - else - { - desktopPopupSiteBridge.AutomationOption(winrt::ContentAutomationOptions::FragmentBased); - } - - desktopPopupSiteBridge.Connect(frame->GetIsland()); - - return desktopPopupSiteBridge; -} - -void LiftedFrame::HandleContentLayout() -{ - GetOutput().GetResourceList()->EnsureInitialized(GetOutput()); - - m_rootVisualTreeNode->Size(m_island.ActualSize()); - m_rootVisualTreeNode->ComputeSizeAndTransform(); -} - -void LiftedFrame::OnPreTranslateDirectMessage( - const MSG* /*msg*/, - UINT /*keyboardModifiers*/, - _Inout_ bool* handled) -{ - *handled = false; -} - -void LiftedFrame::OnPreTranslateTreeMessage( - const MSG* /*msg*/, - UINT /*keyboardModifiers*/, - _Inout_ bool* handled) -{ - *handled = false; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.h b/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.h deleted file mode 100644 index 07f8e208b..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/LiftedFrame.h +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "IFrame.h" -#include "IFrameHost.h" -#include "AutomationTree.h" -#include "EventRevokers.h" -#include "Output.h" - -// Base class for frames using the lifted stack. -// This will pull together all the subsystems needed for a lifted frame -// and provide a way to connect child frames. -class LiftedFrame : public IFrame, public SettingChangedHandler -{ -public: - LiftedFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings); - - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragmentRoot> GetAutomationProvider() const final override { return m_automationTree->Root(); } - - [[nodiscard]] winrt::ContentCoordinateConverter GetConverter() const final override { return m_island.CoordinateConverter(); } - - [[nodiscard]] winrt::ContentIsland GetIsland() const final override { return m_island; } - - [[nodiscard]] std::shared_ptr GetRootVisualTreeNode() const final override { return m_rootVisualTreeNode; } - - [[nodiscard]] virtual std::shared_ptr GetFocusList() const final override { return m_focusList; } - - [[nodiscard]] bool IsLiftedFrame() const final { return true; } - - bool SystemPreTranslateMessage( - UINT /*message*/, - WPARAM /*wParam*/, - LPARAM /*lParam*/) override - { - // We don't expect to receive pretranslate messages in a lifted frame. - return false; - } - - LRESULT HandleMessage( - UINT /*message*/, - WPARAM /*wParam*/, - LPARAM /*lParam*/, - _Out_ bool* handled) final - { - // We don't expect to receive messages in a lifted frame. - *handled = false; - return false; - } - - auto& GetOutput() noexcept { return m_output; } - - virtual void OnPreTranslateDirectMessage( - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled); - - virtual void OnPreTranslateTreeMessage( - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled); - -protected: - winrt::ChildSiteLink ConnectChildFrame( - IFrame* frame, - const winrt::ContainerVisual& childPlacementVisual); - - winrt::DesktopPopupSiteBridge ConnectPopupFrame( - IFrame* frame); - - virtual void HandleContentLayout(); - - IFrameHost const* m_frameHost = nullptr; - std::shared_ptr m_automationTree = nullptr; - std::shared_ptr m_focusList{}; - -private: - void OnSettingChanged(SettingId id) override; - - LiftedOutput m_output; - winrt::ContentIsland m_island = nullptr; - ContentIslandStateChanged_revoker m_islandStateChangedRevoker{}; - std::shared_ptr m_rootVisualTreeNode = nullptr; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/Matrix2x2.h b/Samples/Islands/UXFrameworksOnIslands/Matrix2x2.h deleted file mode 100644 index 552401edd..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/Matrix2x2.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -struct Matrix2x2 -{ - Matrix2x2(float m11, float m12, float m21, float m22) noexcept : - m11(m11), m12(m12), m21(m21), m22(m22) - { - } - - // Default ctor creates an identity transform. - Matrix2x2() noexcept : Matrix2x2(1, 0, 0, 1) - { - } - - // Construct a Matrix2x2 from a float4x4, float3x2, or D2D1_MATRIX_3x2F - template - explicit Matrix2x2(T const& matrix) noexcept : - Matrix2x2(matrix.m11, matrix.m12, matrix.m21, matrix.m22) - { - } - - auto To4x4() const noexcept - { - return winrt::Windows::Foundation::Numerics::float4x4( - m11, m12, 0, 0, - m21, m22, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1); - } - - auto ToD2D() const noexcept - { - return D2D1::Matrix3x2F(m11, m12, m21, m22, 0, 0); - } - - float ToScaleFactor() const noexcept - { - if (m11 == m22 && m12 == 0 && m21 == 0) - { - // Simple scale transform. - return fabs(m11); - } - else - { - // General case: Transform a vector of length 1 and return its length. - auto pt = ToD2D().TransformPoint({ 1.0f, 0.0f }); - return sqrtf((pt.x * pt.x) + (pt.y * pt.y)); - } - } - - bool IsInvertible() const noexcept - { - return ToD2D().IsInvertible(); - } - - auto GetInverse() const noexcept - { - auto matrix = ToD2D(); - matrix.Invert(); - return Matrix2x2(matrix); - } - - bool operator==(Matrix2x2 const& rhs) const noexcept - { - return m11 == rhs.m11 && m12 == rhs.m12 && m21 == rhs.m21 && m22 == rhs.m22; - } - - bool operator!=(Matrix2x2 const& rhs) const noexcept - { - return !(*this == rhs); - } - - float m11, m12; - float m21, m22; -}; - -inline Matrix2x2 operator*(Matrix2x2 const& lhs, Matrix2x2 const& rhs) noexcept -{ - return Matrix2x2{ - // i j i j - lhs.m11 * rhs.m11 + lhs.m12 * rhs.m21, // (i,j) = (1,1) - lhs.m11 * rhs.m12 + lhs.m12 * rhs.m22, // (1,2) - lhs.m21 * rhs.m11 + lhs.m22 * rhs.m21, // (2,1) - lhs.m21 * rhs.m12 + lhs.m22 * rhs.m22 // (2,2) - }; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.cpp deleted file mode 100644 index 27e3e6fa2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.cpp +++ /dev/null @@ -1,185 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "NetUIFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" -#include "FrameDocker.h" -#include "FocusManager.h" - -NetUIFrame::NetUIFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings) : - SystemFrame(queue, systemCompositor, settings), - m_labelVisual(GetOutput(), k_frameName), - m_acceleratorVisual(GetOutput(), L"2") -{ - m_labelVisual.SetBackgroundColor(ColorUtils::LightBlue()); - InitializeVisualTree(systemCompositor); -} - -bool NetUIFrame::SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM /*lParam*/) -{ - if (message == WM_SYSKEYDOWN || message == WM_KEYDOWN) - { - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Menu) - { - m_acceleratorActive = !m_acceleratorActive; - m_acceleratorVisual.GetVisual().IsVisible(m_acceleratorActive); - } - else { - m_acceleratorActive = false; - m_acceleratorVisual.GetVisual().IsVisible(false); - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Number2) - { - // Take focus - GetFocusList()->GetManager()->SetFocusToVisual(GetRootVisualTreeNode(), GetRootVisualTreeNode()->OwningFocusList()); - } - } - } - return false; -} - -void NetUIFrame::ConnectFrame( - IFrame* frame) -{ - auto childContentVisualNode = m_childContentPeer->VisualNode(); - m_childSiteLink = ConnectChildFrame(frame, childContentVisualNode->Visual().as()); - - if (frame->IsLiftedFrame()) - { - // Automation flows through the Content APIs when the child is lifted content. - m_childContentPeer->SetChildSiteLink(m_childSiteLink); - - // Focus flows through the InputFocusNavigationHost API when the child is lifted content. - m_focusList->SetChildSiteLink(m_childSiteLink, 1); - } - else - { - // Automation flows through an explicit IFrameHost API when the child is system content. - m_childContentPeer->SetChildFrame(frame); - - // Set up hit testing so these visuals are treated as parent / child in the hit test tree. - // This is needed because a child system island does not implicitly get pointer events and - // needs to have hit testing forwarded by the parent island. - HitTestContext::ConfigureCrossTreeConnection(childContentVisualNode, frame->GetRootVisualTreeNode()); - - // Focus lists are directly linked together for a child system frame. - m_focusList->SetChildFocusList(frame->GetFocusList(), 1); - } - - HandleContentLayout(); -} - -void NetUIFrame::InitializeVisualTree( - const winrt::WUC::Compositor& compositor) -{ - // Fill our bounds with a light blue color - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - auto colorVisualPeer = m_automationTree->CreatePeer(colorVisualNode, k_frameName, UIA_PaneControlTypeId); - GetRootVisualTreeNode()->AddChild(colorVisualNode); - m_automationTree->Root()->AddChildToEnd(colorVisualPeer->Fragment()); - m_automationTree->AddPeer(colorVisualPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::LightBlue()); - - // Insert the label into the tree. - InsertTextVisual(m_labelVisual, m_automationTree, colorVisualPeer); - m_acceleratorVisual.SetBackgroundColor(winrt::Microsoft::UI::Colors::OldLace()); - m_acceleratorVisual.GetVisual().Offset(winrt::Windows::Foundation::Numerics::float3(m_labelVisual.Size().Width+3, 0, 0)); - m_acceleratorVisual.GetVisual().IsVisible(false); - InsertTextVisual(m_acceleratorVisual, m_automationTree, colorVisualPeer); - - // Create a visual that is inset by 10 pixels on all sides - // This will hold any child frames - m_childContentVisual = compositor.CreateContainerVisual(); - auto childContentVisualNode = VisualTreeNode::Create(m_childContentVisual.as<::IUnknown>()); - m_childContentPeer = m_automationTree->CreatePeer(childContentVisualNode, L"NetUI Content", UIA_PaneControlTypeId); - colorVisualNode->AddChild(childContentVisualNode); - colorVisualPeer->Fragment()->AddChildToEnd(m_childContentPeer->Fragment()); - m_automationTree->AddPeer(m_childContentPeer); - - m_focusList->AddPlaceholder(); // Child content - Index 1 (root visual is always 0) -} - -void NetUIFrame::ActivateInteractionTracker( - const winrt::WUC::Compositor& compositor, - const winrt::WUC::Visual& parentVisual, - const winrt::WUC::Visual& childVisual) -{ - // Setup the interaction tracker - m_interactionTracker = winrt::WUCI::InteractionTracker::Create(compositor); - m_source = winrt::WUCI::VisualInteractionSource::Create(parentVisual); - - m_interactionTracker.InteractionSources().Add(m_source); - - // Set initial values on interaction tracker source - m_source.ManipulationRedirectionMode(winrt::WUCI::VisualInteractionSourceRedirectionMode::CapableTouchpadOnly); - m_source.PositionXSourceMode(winrt::WUCI::InteractionSourceMode::EnabledWithInertia); - m_source.PositionYSourceMode(winrt::WUCI::InteractionSourceMode::EnabledWithInertia); - m_source.ScaleSourceMode(winrt::WUCI::InteractionSourceMode::EnabledWithInertia); - m_source.IsPositionXRailsEnabled(false); - m_source.IsPositionYRailsEnabled(false); - - m_interactionTracker.MaxScale(10); - m_interactionTracker.MinScale(0.1f); - m_interactionTracker.MaxPosition({k_size / 2, k_size / 2, 0}); - m_interactionTracker.MinPosition({30 - (k_size / 2), 30 - (k_size / 2), 0}); - - // Setup expression animations for scaling - auto scaleExpression = compositor.CreateExpressionAnimation(L"Vector3(tracker.Scale, tracker.Scale, 1.0)"); - scaleExpression.SetReferenceParameter(L"tracker", m_interactionTracker); - childVisual.StartAnimation(L"Scale", scaleExpression); - - // Setup expression animation for offset - m_offsetAnimation = compositor.CreateExpressionAnimation(L"initialOffset - tracker.Position"); - m_offsetAnimation.SetReferenceParameter(L"tracker", m_interactionTracker); - m_offsetAnimation.SetVector3Parameter(L"initialOffset", {k_inset, k_inset, 0}); - childVisual.StartAnimation(L"Offset", m_offsetAnimation); - - // Setup input - m_pointerSource = winrt::InputPointerSource::GetForIsland(GetIsland()); - m_pointerSource.PointerPressed([this](auto& /*sender*/, auto& args) { - auto point = args.CurrentPoint(); - this->ActivateForPointer(point); - }); -} - -void NetUIFrame::ActivateForPointer( - const winrt::Microsoft::UI::Input::PointerPoint& point) -{ - if (m_source != nullptr) - { - m_source.TryRedirectForManipulation(point.as()); - } -} - -void NetUIFrame::HandleContentLayout() -{ - // Create a helper object for setting visual positions. - // The docker snaps to pixels unless we pass zero as the rasterization scale. - float rasterizationScale = GetIsland().RasterizationScale(); - float dockerRasterizationScale = !GetSetting(Setting_DisablePixelSnapping) ? rasterizationScale : 0.0f; - FrameDocker docker(GetIsland().ActualSize(), dockerRasterizationScale); - - docker.InsetTop(m_labelVisual.Size().Height); - docker.InsetLeft(k_inset); - docker.InsetRight(k_inset); - docker.InsetBottom(k_inset); - - docker.DockFill(m_childContentVisual); - - SystemFrame::HandleContentLayout(); - - if (nullptr != m_childSiteLink) - { - auto childContentVisualNode = m_childContentPeer->VisualNode(); - m_childSiteLink.LocalToParentTransformMatrix(childContentVisualNode->Transform4x4()); - - m_childSiteLink.ActualSize(childContentVisualNode->Size()); - } -} diff --git a/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.h b/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.h deleted file mode 100644 index 9235244ca..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/NetUIFrame.h +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "SystemFrame.h" -#include "TextVisual.h" - -class NetUIFrame final : public SystemFrame -{ -public: - NetUIFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings); - - bool SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM lParam) override; - - void ConnectFrame( - IFrame* frame); - - void ActivateForPointer( - const winrt::Microsoft::UI::Input::PointerPoint& point); - -protected: - void InitializeVisualTree( - const winrt::WUC::Compositor& compositor); - - void HandleContentLayout() override; - - void ActivateInteractionTracker( - const winrt::WUC::Compositor& compositor, - const winrt::WUC::Visual& parentVisual, - const winrt::WUC::Visual& childVisual); - -private: - static constexpr wchar_t k_frameName[] = L"NetUI"; - static constexpr float k_inset = 10.0f; - static constexpr float k_size = 500.f; - - std::shared_ptr m_childContentPeer = nullptr; - winrt::ChildSiteLink m_childSiteLink = nullptr; - winrt::WUC::ContainerVisual m_childContentVisual{nullptr}; - SystemTextVisual m_labelVisual; - SystemTextVisual m_acceleratorVisual; - bool m_acceleratorActive = false; - - // Interaction tracker - winrt::WUCI::InteractionTracker m_interactionTracker{nullptr}; - winrt::WUCI::VisualInteractionSource m_source{ nullptr }; - winrt::WUC::ExpressionAnimation m_offsetAnimation{ nullptr }; - - winrt::InputPointerSource m_pointerSource = nullptr; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/Output.cpp b/Samples/Islands/UXFrameworksOnIslands/Output.cpp deleted file mode 100644 index 687a00341..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/Output.cpp +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "Output.h" - -template -Output::Output(T const& compositor, std::shared_ptr const& settings) : - m_compositor(compositor), - m_settings(settings), - m_compositionDevice(m_resourceList, m_dxDevice.GetD2DDevice().get(), compositor) -{ - RegisterForDeviceLost(); -} - -template -Output::~Output() -{ - UnregisterFromDeviceLost(); -} - -template -void Output::SetRasterizationTransform(Matrix2x2 const& value) -{ - m_rasterizationTransform = value; -} - -template -winrt::fire_and_forget Output::RegisterForDeviceLost() -{ - auto d3dDevice = m_dxDevice.GetD3DDevice(); - - WINRT_ASSERT(m_registeredDevice == nullptr); - WINRT_ASSERT(d3dDevice != nullptr); - - winrt::check_hresult(d3dDevice->RegisterDeviceRemovedEvent( - m_deviceRemovedEventHandle.get(), - &m_deviceRemovedEventRegistrationCookie)); - - m_registeredDevice = std::move(d3dDevice); - - // Acquire a local reference to the DispatcherQueue. - auto localDispatcherQueue = m_compositor.DispatcherQueue(); - - co_await winrt::resume_on_signal(m_deviceRemovedEventHandle.get()); - - // The await resume comes on a background thread, so use the DispatcherQueue to - // marshal the call to the UI thread. - localDispatcherQueue.TryEnqueue([this] { - - UnregisterFromDeviceLost(); - - // Tell each resource object to release resources. - m_resourceList->ReleaseDeviceDependentResources(*this); - - // Recreate the Direct3D and Direct2D devices. - m_dxDevice.RecreateDevice(); - - // Tell each resource object to recreate resources. - m_resourceList->EnsureInitialized(*this); - - // Listen for device lost on the new device. - RegisterForDeviceLost(); - }); -} - -template -void Output::UnregisterFromDeviceLost() -{ - if (m_registeredDevice != nullptr) - { - m_registeredDevice->UnregisterDeviceRemoved(m_deviceRemovedEventRegistrationCookie); - m_deviceRemovedEventHandle.ResetEvent(); - m_registeredDevice = nullptr; - } -} - -// Explicit template instantiation. -template class Output; -template class Output; diff --git a/Samples/Islands/UXFrameworksOnIslands/Output.h b/Samples/Islands/UXFrameworksOnIslands/Output.h deleted file mode 100644 index 881468109..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/Output.h +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "OutputResource.h" -#include "DXDevice.h" -#include "CompositionDeviceResource.h" -#include "Matrix2x2.h" - -// Encapsulates objects used to render output for a particular island. -// Use the LiftedOutputResource typedef for lifted islands. -// Use the SystemOutputResource typedef for system islands. -template -class Output -{ -public: - Output(T const& compositor, std::shared_ptr const& settings); - ~Output(); - - Output(Output const&) = delete; - void operator=(Output const&) = delete; - - auto& GetSettings() const noexcept { return m_settings; } - bool GetSetting(SettingId id) const noexcept { return m_settings->GetSetting(id); } - - auto& GetResourceList() const noexcept { return m_resourceList; } - auto& GetCompositor() const noexcept { return m_compositor; } - auto& GetDXDevice() const noexcept { return m_dxDevice; } - auto& GetCompositionGraphicsDevice() const noexcept { return m_compositionDevice.GetCompositionGraphicsDevice(); } - - auto& GetRasterizationTransform() const noexcept { return m_rasterizationTransform; } - void SetRasterizationTransform(Matrix2x2 const& value); - -private: - winrt::fire_and_forget RegisterForDeviceLost(); - void UnregisterFromDeviceLost(); - - std::shared_ptr> m_resourceList = std::make_shared>(); - T m_compositor; - std::shared_ptr m_settings; - DXDevice m_dxDevice; - CompositionDeviceResource m_compositionDevice; - - winrt::com_ptr m_registeredDevice; - wil::unique_event m_deviceRemovedEventHandle{ wil::EventOptions::ManualReset }; - DWORD m_deviceRemovedEventRegistrationCookie = 0; - - Matrix2x2 m_rasterizationTransform; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/OutputResource.cpp b/Samples/Islands/UXFrameworksOnIslands/OutputResource.cpp deleted file mode 100644 index a04ad5e60..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/OutputResource.cpp +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "OutputResource.h" - -template -void OutputResourceList::ReleaseDeviceDependentResources(Output const& output) -{ - // Iterate in reverse order of creation. - for (auto* p = m_last; p != nullptr; p = p->m_prev) - { - p->ReleaseDeviceDependentResources(output); - } -} - -template -void OutputResourceList::EnsureInitialized(Output const& output) -{ - // Iterate in order of creation. - for (auto* p = m_first; p != nullptr; p = p->m_next) - { - p->EnsureInitialized(output); - } -} - -template -void OutputResourceList::OnSettingChanged(Output const& output, SettingId id) -{ - // Iterate in order of creation. - for (auto* p = m_first; p != nullptr; p = p->m_next) - { - p->OnSettingChanged(output, id); - } -} - -// The ctor adds OutputResource to the OutputResourceList. -template -OutputResource::OutputResource(std::shared_ptr> const& resourceList) noexcept : - m_resourceList(resourceList) -{ - if (m_resourceList->m_first != nullptr) - { - // Non-empty list: insert after the last. - // This is so we invoke handlers in the order items were created. - m_resourceList->m_last->m_next = this; - m_prev = m_resourceList->m_last; - m_resourceList->m_last = this; - } - else - { - // Empty list: this is now the first and last node. - m_resourceList->m_first = this; - resourceList->m_last = this; - } -} - -// The dtor removes the OutputResource from the OutputResourceList. -template -OutputResource::~OutputResource() -{ - OutputResource*& forwardLink = m_prev != nullptr ? - m_prev->m_next : - m_resourceList->m_first; - forwardLink = m_next; - - OutputResource*& backLink = m_next != nullptr ? - m_next->m_prev : - m_resourceList->m_last; - backLink = m_prev; -} - -// Explicit template instantiation. -template class OutputResourceList; -template class OutputResource; - -template class OutputResourceList; -template class OutputResource; diff --git a/Samples/Islands/UXFrameworksOnIslands/OutputResource.h b/Samples/Islands/UXFrameworksOnIslands/OutputResource.h deleted file mode 100644 index bf84b0321..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/OutputResource.h +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once -#include "SettingCollection.h" - -template -class Output; -using LiftedOutput = Output; -using SystemOutput = Output; - -template -class OutputResource; -using LiftedOutputResource = OutputResource; -using SystemOutputResource = OutputResource; - -// Linked list of all active OutputResource objects. -// -// An OutputResource is an object that owns device-dependent resources or needs to be notified -// of rasterization scale changes. An OutputResourceList is used to track the OutputResource -// objects associated with a particular Output object. -// -// Note: Unlike std::list or other standard containers, this list does not "own" or otherwise -// affect the lifetime of the objects in the list. It merely keeps track of the objects -// that do exist. Each OutputResource adds itself to the list in its constructor and -// removes itself from the list in its destructor. -template -class OutputResourceList -{ -public: - - // Invokes ReleaseDeviceDependentResources on each OutputResource in reverse order of creation. - void ReleaseDeviceDependentResources(Output const& output); - - // Invokes EnsureInitialized on each OutputResource in order of creation. - void EnsureInitialized(Output const& output); - - // Invokes OnSettingChanged on each OutputResource in order of creation. - void OnSettingChanged(Output const& output, SettingId id); - -private: - friend class OutputResource; - - OutputResource* m_first = nullptr; - OutputResource* m_last = nullptr; -}; - -// OutputResource is the base class for objects that own device-dependent resources or that -// need to be notified of rasterization scale changes. -template -class OutputResource -{ -public: - // The ctor adds OutputResource to the OutputResourceList. - OutputResource(std::shared_ptr> const& resourceList) noexcept; - - // The dtor removes the OutputResource from the OutputResourceList. - ~OutputResource(); - - // Not copyable. - OutputResource(OutputResource const&) = delete; - void operator=(OutputResource const&) = delete; - - // Not moveable. - OutputResource(OutputResource&&) = delete; - void operator=(OutputResource&&) = delete; - - virtual void ReleaseDeviceDependentResources(Output const&) - { - } - - virtual void EnsureInitialized(Output const&) - { - } - - virtual void OnSettingChanged(Output const&, SettingId) - { - } - -private: - friend class OutputResourceList; - std::shared_ptr> m_resourceList; - OutputResource* m_prev = nullptr; - OutputResource* m_next = nullptr; -}; -using LiftedOutputResourceList = OutputResourceList; -using SystemOutputResourceList = OutputResourceList; diff --git a/Samples/Islands/UXFrameworksOnIslands/Package.appxmanifest b/Samples/Islands/UXFrameworksOnIslands/Package.appxmanifest deleted file mode 100644 index 4caa9cc5c..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/Package.appxmanifest +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - UXFrameworksOnIslands - Microsoft Corporation - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/Islands/UXFrameworksOnIslands/PopupFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/PopupFrame.cpp deleted file mode 100644 index 9af1a267b..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/PopupFrame.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "PopupFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" - -PopupFrame::PopupFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings) : - LiftedFrame(compositor, settings), - m_labelVisual(GetOutput(), k_frameName) -{ - m_labelVisual.SetBackgroundColor(ColorUtils::DarkRed()); - InitializeVisualTree(compositor); - InitializeInputEvents(); - - // Set up a handler for layout direction changes - m_islandStateChangedRevoker = { GetIsland(), GetIsland().StateChanged([&]( - auto&&, - winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs const& args) - { - if (args.DidLayoutDirectionChange()) - { - // If inactive, use a more muted color - auto color = ColorUtils::DarkRed(); - - if (GetIsland().LayoutDirection() == winrt::ContentLayoutDirection::RightToLeft) - { - color = ColorUtils::LightRed(); - } - - auto outlineVisual = m_backgroundPeer->VisualNode()->Visual().as(); - auto colorBrush = outlineVisual.Compositor().CreateColorBrush(color); - outlineVisual.Brush(colorBrush); - } - }) }; -} - -void PopupFrame::ConnectPopupFrame(IFrame* frame) -{ - m_popupFrame = frame; - m_popupSiteBridge = LiftedFrame::ConnectPopupFrame(frame); - - HandleContentLayout(); -} - -void PopupFrame::InitializeVisualTree(const winrt::Compositor& compositor) -{ - // Fill entire bounds with dark red color - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - m_backgroundPeer = m_automationTree->CreatePeer(colorVisualNode, k_frameName, UIA_ImageControlTypeId); - GetRootVisualTreeNode()->AddChild(colorVisualNode); - m_automationTree->Root()->AddChildToEnd(m_backgroundPeer->Fragment()); - m_automationTree->AddPeer(m_backgroundPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::DarkRed()); - - // Insert the label into the tree. - InsertTextVisual(m_labelVisual, m_automationTree, m_backgroundPeer); - - // This is just a dummy structural visual to hold the click squares - auto clickSquareRoot = compositor.CreateContainerVisual(); - m_clickSquareRoot = VisualTreeNode::Create(clickSquareRoot.as<::IUnknown>()); - colorVisualNode->AddChild(m_clickSquareRoot); -} - -void PopupFrame::InitializeInputEvents() -{ - auto island = GetIsland(); - m_pointerSource = winrt::InputPointerSource::GetForIsland(island); - m_keyboardSource = winrt::InputKeyboardSource::GetForIsland(island); - - m_pointerSource.PointerPressed( - [this](auto&& /*sender*/, auto&& args) - { - auto point = args.CurrentPoint(); - OnClick(point); - }); - - m_keyboardSource.KeyDown( - [this](auto&& /*sender*/, auto&& args) - { - OnKeyPress(args.VirtualKey()); - }); -} - -void PopupFrame::OnClick( - const winrt::PointerPoint& point) -{ - // Unconditionally take focus - auto focusController = winrt::InputFocusController::GetForIsland(GetIsland()); - focusController.TrySetFocus(); - - auto clickSquareRootVisual = m_clickSquareRoot->Visual().as(); - auto compositor = clickSquareRootVisual.Compositor(); - - // Create our 10x10 blue square - auto blueVisual = compositor.CreateSpriteVisual(); - auto blueVisualNode = VisualTreeNode::Create(blueVisual.as<::IUnknown>()); - m_clickSquareRoot->AddChild(blueVisualNode); - - blueVisual.Size({10.0f, 10.0f}); - - // Color it blue - auto blue = winrt::Windows::UI::Colors::DarkBlue(); - blueVisual.Brush(compositor.CreateColorBrush(blue)); - - // In the RTL configuration, we need to adjust to the origin being in the top right corner - if (GetIsland().LayoutDirection() == winrt::ContentLayoutDirection::RightToLeft) - { - blueVisual.Offset({GetIsland().ActualSize().x - (point.Position().X + 5.0f), point.Position().Y - 5.0f, 0.0}); - } - else - { - blueVisual.Offset({point.Position().X - 5.0f, point.Position().Y - 5.0f, 0.0}); - } -} - -void PopupFrame::OnKeyPress( - winrt::Windows::System::VirtualKey key) -{ - if (key == winrt::Windows::System::VirtualKey::Escape) - { - m_popupSiteBridge.Hide(); - } - else if (key == winrt::Windows::System::VirtualKey::Enter) - { - m_popupSiteBridge.Show(); - } - else if (key == winrt::Windows::System::VirtualKey::R) - { - m_popupSiteBridge.LayoutDirectionOverride(winrt::ContentLayoutDirection::RightToLeft); - } - else if (key == winrt::Windows::System::VirtualKey::L) - { - m_popupSiteBridge.LayoutDirectionOverride(winrt::ContentLayoutDirection::LeftToRight); - } -} - -void PopupFrame::HandleContentLayout() -{ - if (m_popupSiteBridge != nullptr) - { - if (GetSetting(Setting_ShowPopupVisual)) - { - auto islandSize = GetIsland().ActualSize(); - auto bounds = GetConverter().ConvertLocalToScreen({ - islandSize.x - k_layoutGap, - islandSize.y - k_layoutGap, - k_popupSize, - k_popupSize}); - - m_popupSiteBridge.MoveAndResize(bounds); - - m_popupSiteBridge.Show(); - } - else - { - m_popupSiteBridge.Hide(); - } - } -} diff --git a/Samples/Islands/UXFrameworksOnIslands/PopupFrame.h b/Samples/Islands/UXFrameworksOnIslands/PopupFrame.h deleted file mode 100644 index 25e573895..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/PopupFrame.h +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "LiftedFrame.h" -#include "TextVisual.h" - -class PopupFrame final : public LiftedFrame -{ -public: - PopupFrame( - const winrt::Compositor& compositor, - const std::shared_ptr& settings); - - ~PopupFrame() noexcept = default; - - void ConnectPopupFrame( - IFrame* frame); - -private: - void InitializeVisualTree(const winrt::Compositor& compositor); - - void InitializeInputEvents(); - - void OnClick( - const winrt::PointerPoint& point); - - void OnKeyPress( - winrt::Windows::System::VirtualKey key); - - void OnActivationChanged( - bool isActive); - - void HandleContentLayout() override; - -private: - static constexpr wchar_t k_frameName[] = L"Popup"; - static constexpr float k_popupSize = 200.0f; - static constexpr float k_layoutGap = 50.0f; - - LiftedTextVisual m_labelVisual; - std::shared_ptr m_clickSquareRoot = nullptr; - - float m_labelDpiScale = 0.0f; - - IFrame* m_popupFrame = nullptr; - winrt::DesktopPopupSiteBridge m_popupSiteBridge = nullptr; - - std::shared_ptr m_backgroundPeer = nullptr; - std::shared_ptr m_outlinePeer = nullptr; - - winrt::InputPointerSource m_pointerSource = nullptr; - winrt::InputKeyboardSource m_keyboardSource = nullptr; - winrt::WindowRectChangedEventArgs m_windowRectChanged = nullptr; - - ContentIslandStateChanged_revoker m_islandStateChangedRevoker{}; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.cpp b/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.cpp deleted file mode 100644 index 58994fae2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "LiftedFrame.h" -#include "PreTranslateHandler.h" - -PreTranslateHandler::PreTranslateHandler(_In_ LiftedFrame* liftedFrame) -{ - m_liftedFrameWeak = liftedFrame; -} - -PreTranslateHandler::~PreTranslateHandler() -{ - m_liftedFrameWeak = nullptr; -} - -IFACEMETHODIMP -PreTranslateHandler::OnDirectMessage( - winrt::Microsoft::UI::Input::IInputPreTranslateKeyboardSourceInterop* /*source*/, - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled) -{ - *handled = false; - - if (m_liftedFrameWeak != nullptr) - { - m_liftedFrameWeak->OnPreTranslateDirectMessage(msg, keyboardModifiers, handled); - } - - return S_OK; -} - -IFACEMETHODIMP -PreTranslateHandler::OnTreeMessage( - winrt::Microsoft::UI::Input::IInputPreTranslateKeyboardSourceInterop* /*source*/, - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled) -{ - *handled = false; - - if (m_liftedFrameWeak != nullptr) - { - m_liftedFrameWeak->OnPreTranslateTreeMessage(msg, keyboardModifiers, handled); - } - - return S_OK; -} \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.h b/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.h deleted file mode 100644 index 471cc342d..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/PreTranslateHandler.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include - -class LiftedFrame; - -struct PreTranslateHandler : winrt::implements -{ -public: - PreTranslateHandler(LiftedFrame* liftedFrame); - ~PreTranslateHandler(); - - // IInputKeyboardSourcePreTranslateHandler methods - IFACEMETHOD(OnDirectMessage)( - winrt::Microsoft::UI::Input::IInputPreTranslateKeyboardSourceInterop* source, - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled); - - IFACEMETHOD(OnTreeMessage)( - winrt::Microsoft::UI::Input::IInputPreTranslateKeyboardSourceInterop* source, - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled); - -private: - LiftedFrame* m_liftedFrameWeak{}; -}; \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.cpp deleted file mode 100644 index 8623944a0..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.cpp +++ /dev/null @@ -1,428 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "ReactNativeFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" -#include "FrameDocker.h" - -ReactNativeFrame::ReactNativeFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings) : - LiftedFrame(compositor, settings), - m_labelVisual(GetOutput(), k_frameName), - m_acceleratorVisual(GetOutput(), L"3"), - m_focusManager(m_focusList) -{ - InitializeVisualTree(compositor); - InitializeInputEvents(); -} - -void ReactNativeFrame::ConnectLeftFrame( - IFrame* frame) -{ - m_leftFrame = frame; - auto leftContentVisualNode = m_leftContentPeer->VisualNode(); - m_leftChildSiteLink = ConnectChildFrame(frame, leftContentVisualNode->Visual().as()); - - if (frame->IsLiftedFrame()) - { - // Automation flows through the Content APIs when the child is lifted content. - m_leftContentPeer->SetChildSiteLink(m_leftChildSiteLink); - - // Focus flows through the InputFocusNavigationHost API when the child is lifted content. - m_focusList->SetChildSiteLink(m_leftChildSiteLink, 2); - } - else - { - // Automation flows through an explicit IFrameHost API when the child is system content. - m_leftContentPeer->SetChildFrame(frame); - - // Set up hit testing so these visuals are treated as parent / child in the hit test tree. - // This is needed because a child system island does not implicitly get pointer events and - // needs to have hit testing forwarded by the parent island. - HitTestContext::ConfigureCrossTreeConnection(leftContentVisualNode, frame->GetRootVisualTreeNode()); - - // Focus lists are directly linked together for a child system frame. - m_focusList->SetChildFocusList(frame->GetFocusList(), 2); - } - - HandleContentLayout(); -} - -void ReactNativeFrame::ConnectRightFrame( - IFrame* frame) -{ - m_rightFrame = frame; - auto rightContentVisualNode = m_rightContentPeer->VisualNode(); - m_rightChildSiteLink = ConnectChildFrame(frame, rightContentVisualNode->Visual().as()); - - if (frame->IsLiftedFrame()) - { - // Automation flows through the Content APIs when the child is lifted content. - m_rightContentPeer->SetChildSiteLink(m_rightChildSiteLink); - - // Focus flows through Content APIs when the child is lifted content. - m_focusList->SetChildSiteLink(m_rightChildSiteLink, 3); - } - else - { - // Automation flows through an explicit IFrameHost API when the child is system content. - m_rightContentPeer->SetChildFrame(frame); - - // Set up hit testing so these visuals are treated as parent / child in the hit test tree. - // This is needed because a child system island does not implicitly get pointer events and - // needs to have hit testing forwarded by the parent island. - HitTestContext::ConfigureCrossTreeConnection(rightContentVisualNode, frame->GetRootVisualTreeNode()); - - // Focus lists are directly linked together for a system frame. - m_focusList->SetChildFocusList(frame->GetFocusList(), 3); - } - - HandleContentLayout(); -} - -winrt::com_ptr<::IRawElementProviderFragmentRoot> ReactNativeFrame::GetFragmentRootProviderForChildFrame(_In_ IFrame const* const) const -{ - return m_automationTree->Root(); -} - -winrt::com_ptr<::IRawElementProviderFragment> ReactNativeFrame::GetNextSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // We've set up our automation tree in a way so that the frame providers are solitary children of their parent. - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> ReactNativeFrame::GetParentProviderForChildFrame(_In_ IFrame const* const sender) const -{ - if (sender == m_leftFrame) - { - return m_leftContentPeer->Fragment(); - } - else if (sender == m_rightFrame) - { - return m_rightContentPeer->Fragment(); - } - - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> ReactNativeFrame::GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // We've set up our automation tree in a way so that the frame providers are solitary children of their parent. - return nullptr; -} - -void ReactNativeFrame::InitializeVisualTree( - const winrt::Compositor& compositor) -{ - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - m_backgroundPeer = m_automationTree->CreatePeer(colorVisualNode, k_frameName, UIA_PaneControlTypeId); - GetRootVisualTreeNode()->AddChild(colorVisualNode); - m_automationTree->Root()->AddChildToEnd(m_backgroundPeer->Fragment()); - m_automationTree->AddPeer(m_backgroundPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::LightGreen()); - - // Insert the label into the tree. - InsertTextVisual(m_labelVisual, m_automationTree, m_backgroundPeer); - m_acceleratorVisual.SetBackgroundColor(winrt::Microsoft::UI::Colors::OldLace()); - m_acceleratorVisual.GetVisual().Offset(winrt::Windows::Foundation::Numerics::float3(m_labelVisual.Size().Width+3, 0, 0)); - m_acceleratorVisual.GetVisual().IsVisible(false); - InsertTextVisual(m_acceleratorVisual, m_automationTree, m_backgroundPeer); - - // Partition the layout into 3 regions: top, bottom left, bottom right. - m_topContentVisual = compositor.CreateContainerVisual(); - auto topContentVisualTreeNode = VisualTreeNode::Create(m_topContentVisual.as<::IUnknown>()); - m_topContentPeer = m_automationTree->CreatePeer(topContentVisualTreeNode, L"ReactNative Top", UIA_PaneControlTypeId); - colorVisualNode->AddChild(topContentVisualTreeNode); - m_backgroundPeer->Fragment()->AddChildToEnd(m_topContentPeer->Fragment()); - m_automationTree->AddPeer(m_topContentPeer); - - m_leftRootVisual = compositor.CreateContainerVisual(); - auto leftRootNode = VisualTreeNode::Create(m_leftRootVisual.as<::IUnknown>()); - m_leftContentPeer = m_automationTree->CreatePeer(leftRootNode, L"ReactNative Left", UIA_PaneControlTypeId); - colorVisualNode->AddChild(leftRootNode); - m_backgroundPeer->Fragment()->AddChildToEnd(m_leftContentPeer->Fragment()); - m_automationTree->AddPeer(m_leftContentPeer); - - m_rightRootVisual = compositor.CreateContainerVisual(); - auto rightRootNode = VisualTreeNode::Create(m_rightRootVisual.as<::IUnknown>()); - m_rightContentPeer = m_automationTree->CreatePeer(rightRootNode, L"ReactNative Right", UIA_PaneControlTypeId); - colorVisualNode->AddChild(rightRootNode); - m_backgroundPeer->Fragment()->AddChildToEnd(m_rightContentPeer->Fragment()); - - // This is just a dummy structural visual to hold the click squares - auto clickSquareRoot = compositor.CreateContainerVisual(); - m_clickSquareRoot = VisualTreeNode::Create(clickSquareRoot.as<::IUnknown>()); - colorVisualNode->AddChild(m_clickSquareRoot); - - InitializeReactNativeContent(); - - m_focusList->AddVisual(topContentVisualTreeNode); // Index 1 (root visual is always 0) - m_focusList->AddPlaceholder(); // Left content - index 2 - m_focusList->AddPlaceholder(); // Right content - index 3 -} - -void ReactNativeFrame::InitializeReactNativeContent() -{ - // But for now just fill with solid color - auto topContentRootVisualNode = m_topContentPeer->VisualNode(); - auto topContentRoot = topContentRootVisualNode->Visual().as(); - auto compositor = topContentRoot.Compositor(); - - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - m_topColorPeer = m_automationTree->CreatePeer(colorVisualNode, L"ReactNative Top Content", UIA_ImageControlTypeId); - topContentRootVisualNode->AddChild(colorVisualNode); - m_topContentPeer->Fragment()->AddChildToEnd(m_topColorPeer->Fragment()); - m_automationTree->AddPeer(m_topColorPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::DarkGreen()); -} - -void ReactNativeFrame::ActivateInteractionTracker( - const winrt::Compositor& compositor, - const winrt::Visual& parentVisual, - const winrt::Visual& childVisual) -{ - // Set up interaction tracker - m_interactionTracker = winrt::InteractionTracker::Create(compositor); - m_source = winrt::VisualInteractionSource::Create(parentVisual); - - m_interactionTracker.InteractionSources().Add(m_source); - - // Set initial values on interaction tracker source - m_source.ManipulationRedirectionMode(winrt::VisualInteractionSourceRedirectionMode::CapableTouchpadOnly); - m_source.PositionXSourceMode(winrt::InteractionSourceMode::EnabledWithInertia); - m_source.PositionYSourceMode(winrt::InteractionSourceMode::EnabledWithInertia); - m_source.ScaleSourceMode(winrt::InteractionSourceMode::EnabledWithInertia); - m_source.IsPositionXRailsEnabled(false); - m_source.IsPositionYRailsEnabled(false); - - m_interactionTracker.MaxScale(10); - m_interactionTracker.MinScale(0.1f); - m_interactionTracker.MaxPosition({k_size / 2, k_size / 2, 0}); - m_interactionTracker.MinPosition({30 - (k_size / 2), 30 - (k_size / 2), 0}); - - // Setup expression animations for scaling - auto scaleExpression = compositor.CreateExpressionAnimation(L"Vector3(tracker.Scale, tracker.Scale, 1.0)"); - scaleExpression.SetReferenceParameter(L"tracker", m_interactionTracker); - childVisual.StartAnimation(L"Scale", scaleExpression); - - // Setup expression animation for offset - m_offsetAnimation = compositor.CreateExpressionAnimation(L"initialOffset - tracker.Position"); - m_offsetAnimation.SetReferenceParameter(L"tracker", m_interactionTracker); - m_offsetAnimation.SetVector3Parameter(L"initialOffset", {k_inset, k_inset, 0}); - childVisual.StartAnimation(L"Offset", m_offsetAnimation); -} - -void ReactNativeFrame::OnPreTranslateTreeMessage( - const MSG* msg, - UINT /*keyboardModifiers*/, - _Inout_ bool* handled) -{ - *handled = false; - if (msg->message == WM_SYSKEYDOWN || msg->message == WM_KEYDOWN) - { - if (static_cast(msg->wParam) == winrt::Windows::System::VirtualKey::Menu) - { - m_acceleratorActive = !m_acceleratorActive; - m_acceleratorVisual.GetVisual().IsVisible(m_acceleratorActive); - } - else { - m_acceleratorActive = false; - m_acceleratorVisual.GetVisual().IsVisible(false); - if (static_cast(msg->wParam) == winrt::Windows::System::VirtualKey::Number3) - { - // Take focus - m_focusManager.SetFocusToVisual(GetRootVisualTreeNode(), GetRootVisualTreeNode()->OwningFocusList()); - } - } - } -} - -void ReactNativeFrame::InitializeInputEvents() -{ - auto island = GetIsland(); - m_pointerSource = winrt::InputPointerSource::GetForIsland(island); - m_keyboardSource = winrt::InputKeyboardSource::GetForIsland(island); - m_preTranslateKeyboardSource = winrt::InputPreTranslateKeyboardSource::GetForIsland(island); - m_activationListener = winrt::InputActivationListener::GetForIsland(island); - m_focusController = winrt::InputFocusController::GetForIsland(island); - - // FocusManager will listen to all the focus events. - m_focusManager.InitializeWithFocusController(m_focusController); - - m_pointerSource.PointerPressed( - [this](auto&& /*sender*/, auto&& args) - { - auto point = args.CurrentPoint(); - if (point.PointerDeviceType() != winrt::PointerDeviceType::Mouse) - { - ActivateForPointer(point); - } - else - { - OnClick(point); - } - }); - - m_keyboardSource.KeyDown( - [this](auto&& /*sender*/, auto&& args) - { - OnKeyPress(args.VirtualKey()); - }); - - m_preTranslateHandler = winrt::make_self(this); - m_preTranslateKeyboardSource.as()->SetPreTranslateHandler(m_preTranslateHandler.get()); - - m_activationListener.InputActivationChanged( - [this](auto&& /*sender*/, auto&& /*args*/) - { - bool isActive = m_activationListener.State() == winrt::InputActivationState::Activated; - OnActivationChanged(isActive); - }); - - GetRootVisualTreeNode()->HitTestCallback( - [this](const HitTestContext& context) - { - AddClickSquare(context.Point()); - return true; - }); -} - -void ReactNativeFrame::OnClick( - const winrt::PointerPoint& point) -{ - // Unconditionally take focus - m_focusController.TrySetFocus(); - - HitTestContext context{ m_focusManager, GetRootVisualTreeNode() }; - context.RunHitTest(point.Position(), point.Properties().IsRightButtonPressed()); -} - -void ReactNativeFrame::AddClickSquare(const winrt::Point& point) -{ - auto clickSquareRootVisual = m_clickSquareRoot->Visual().as(); - auto compositor = clickSquareRootVisual.Compositor(); - - // Create our 10x10 blue square - auto blueVisual = compositor.CreateSpriteVisual(); - auto blueVisualNode = VisualTreeNode::Create(blueVisual.as<::IUnknown>()); - m_clickSquareRoot->AddChild(blueVisualNode); - - blueVisual.Size({10.0f, 10.0f}); - - // Color it blue - auto blue = winrt::Windows::UI::Colors::DarkBlue(); - blueVisual.Brush(compositor.CreateColorBrush(blue)); - blueVisual.Offset({point.X - 5.0f, point.Y - 5.0f, 0.0}); -} - -void ReactNativeFrame::ActivateForPointer( - const winrt::PointerPoint& point) -{ - if (m_source != nullptr) - { - m_source.TryRedirectForManipulation(point); - } -} - -void ReactNativeFrame::OnKeyPress( - winrt::Windows::System::VirtualKey key) -{ - if (key == winrt::Windows::System::VirtualKey::Escape) - { - m_clickSquareRoot->RemoveAllChildren(); - } - else if (key == winrt::Windows::System::VirtualKey::A || - key == winrt::Windows::System::VirtualKey::B || - key == winrt::Windows::System::VirtualKey::C) - { - auto compositor = GetRootVisualTreeNode()->Visual().as().Compositor(); - winrt::Windows::UI::Color color = - (key == winrt::Windows::System::VirtualKey::A) ? ColorUtils::DarkGreen() : - (key == winrt::Windows::System::VirtualKey::B) ? winrt::Windows::UI::Colors::Purple() : - winrt::Windows::UI::Colors::Lavender(); - - auto brush = compositor.CreateColorBrush(color); - m_topColorPeer->VisualNode()->Visual().as().Brush(brush); - } - else if (key == winrt::Windows::System::VirtualKey::Tab) - { - // Key-state is a bitwise flag, check the "Down" flag specficially. - auto shiftState = m_keyboardSource.GetKeyState(winrt::Windows::System::VirtualKey::Shift); - bool isShiftDown = (shiftState & winrt::VirtualKeyStates::Down) != winrt::VirtualKeyStates::None; - if (isShiftDown) - { - m_focusManager.NavigateBackward(); - } - else - { - m_focusManager.NavigateForward(); - } - } -} - -void ReactNativeFrame::OnActivationChanged( - bool isActive) -{ - // If inactive, use a more muted color - auto color = isActive ? ColorUtils::LightGreen() : ColorUtils::FromHexValue(0xff9cc9af); - - auto colorVisual = m_backgroundPeer->VisualNode()->Visual().as(); - auto colorBrush = colorVisual.Compositor().CreateColorBrush(color); - colorVisual.Brush(colorBrush); -} - -void ReactNativeFrame::HandleContentLayout() -{ - // Visual layout: - // - // +-------------------------------------------------+ - // | Label | - // + +-------------------------------------------+ | - // | | | | - // | | m_topContentVisual | | - // | | | | - // + +-------------------------------------------+ | - // | +--------------------+ +--------------------+ | - // | | | | | | - // | | m_leftRootVisual | | m_rightRootVisual | | - // | | | | | | - // | +--------------------+ +--------------------+ | - // +-------------------------------------------------+ - - // Create a helper object for setting visual positions. - // The docker snaps to pixels unless we pass zero as the rasterization scale. - float rasterizationScale = GetIsland().RasterizationScale(); - float dockerRasterizationScale = !GetSetting(Setting_DisablePixelSnapping) ? rasterizationScale : 0.0f; - FrameDocker docker(GetIsland().ActualSize(), dockerRasterizationScale); - - // Add margins. - docker.InsetTop(m_labelVisual.Size().Height); - docker.InsetLeft(k_inset); - docker.InsetRight(k_inset); - docker.InsetBottom(k_inset); - - // Position the visuals. - docker.DockTopRelativeWithMargin(m_topContentVisual, 0.5f, k_inset); - docker.DockLeftRelativeWithMargin(m_leftRootVisual, 0.5f, k_inset); - docker.DockFill(m_rightRootVisual); - - LiftedFrame::HandleContentLayout(); - - if (nullptr != m_leftChildSiteLink) - { - auto leftContentVisualNode = m_leftContentPeer->VisualNode(); - m_leftChildSiteLink.LocalToParentTransformMatrix(leftContentVisualNode->Transform4x4()); - - m_leftChildSiteLink.ActualSize(leftContentVisualNode->Size()); - } - - if (nullptr != m_rightChildSiteLink) - { - auto rightContentVisualNode = m_rightContentPeer->VisualNode(); - m_rightChildSiteLink.LocalToParentTransformMatrix(rightContentVisualNode->Transform4x4()); - - m_rightChildSiteLink.ActualSize(rightContentVisualNode->Size()); - } -} diff --git a/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.h b/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.h deleted file mode 100644 index e6fca0f2a..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/ReactNativeFrame.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "LiftedFrame.h" -#include "TextVisual.h" -#include "FocusManager.h" -#include "PreTranslateHandler.h" - -class ReactNativeFrame final : public LiftedFrame, public IFrameHost -{ -public: - ReactNativeFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings); - - void ConnectLeftFrame( - IFrame* frame); - void ConnectRightFrame( - IFrame* frame); - - // IFrameHost overrides. - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetParentProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const sender) const override; - -private: - void InitializeVisualTree( - const winrt::Compositor& compositor); - - void InitializeReactNativeContent(); - - void InitializeInputEvents(); - - void OnClick( - const winrt::PointerPoint& point); - - void AddClickSquare(const winrt::Point& point); - - void ActivateForPointer( - const winrt::PointerPoint& point); - - void OnKeyPress( - winrt::Windows::System::VirtualKey key); - - void OnActivationChanged( - bool isActive); - - void HandleContentLayout() override; - - void ActivateInteractionTracker( - const winrt::Compositor& compositor, - const winrt::Visual& parentVisual, - const winrt::Visual& childVisual); - - void OnPreTranslateTreeMessage( - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled) override; - -private: - static constexpr wchar_t k_frameName[] = L"ReactNative"; - static constexpr float k_inset = 10.0f; - static constexpr float k_size = 500.f; - - LiftedTextVisual m_labelVisual; - LiftedTextVisual m_acceleratorVisual; - bool m_acceleratorActive = false; - std::shared_ptr m_clickSquareRoot = nullptr; - - winrt::ChildSiteLink m_leftChildSiteLink = nullptr; - winrt::ChildSiteLink m_rightChildSiteLink = nullptr; - - IFrame* m_leftFrame = nullptr; - IFrame* m_rightFrame = nullptr; - - winrt::ContainerVisual m_topContentVisual{nullptr}; - winrt::ContainerVisual m_leftRootVisual{nullptr}; - winrt::ContainerVisual m_rightRootVisual{nullptr}; - - std::shared_ptr m_backgroundPeer = nullptr; - std::shared_ptr m_topContentPeer = nullptr; - std::shared_ptr m_leftContentPeer = nullptr; - std::shared_ptr m_rightContentPeer = nullptr; - std::shared_ptr m_topColorPeer = nullptr; - - winrt::InputPointerSource m_pointerSource = nullptr; - winrt::InputKeyboardSource m_keyboardSource = nullptr; - winrt::InputPreTranslateKeyboardSource m_preTranslateKeyboardSource = nullptr; - winrt::InputActivationListener m_activationListener = nullptr; - winrt::InputFocusController m_focusController = nullptr; - - winrt::InteractionTracker m_interactionTracker{nullptr}; - winrt::VisualInteractionSource m_source{nullptr}; - winrt::ExpressionAnimation m_offsetAnimation{nullptr}; - FocusManager m_focusManager; - winrt::com_ptr m_preTranslateHandler{nullptr}; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/RootFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/RootFrame.cpp deleted file mode 100644 index 3ddf2674e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/RootFrame.cpp +++ /dev/null @@ -1,598 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "RootFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" -#include "FrameDocker.h" -#include "TextRenderer.h" -#include "HitTestContext.h" - -RootFrame::RootFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings) : - SystemFrame(queue, systemCompositor, settings), - m_rootLabel(GetOutput(), k_rootFrameName), - m_acceleratorLabel(GetOutput(), L"1"), - m_ribbonLabel(GetOutput(), k_ribbonFrameName, CreateTextLayout(k_ribbonFrameName, CreateTextFormat(L"Cambria", 24.0f).get())), - m_backLabel(GetOutput(), L"Back"), - m_frontLabel(GetOutput(), L"Front"), - m_forceAliasedTextCheckBox(GetOutput(), L"Force aliased text", settings, Setting_ForceAliasedText), - m_disablePixelSnappingCheckBox(GetOutput(), L"Disable pixel snapping", settings, Setting_DisablePixelSnapping), - m_showSpriteBoundsCheckBox(GetOutput(), L"Show sprite bounds", settings, Setting_ShowSpriteBounds), - m_showSpriteGenerationCheckBox(GetOutput(), L"Show sprite generation", settings, Setting_ShowSpriteGeneration), - m_showPopupVisualCheckBox(GetOutput(), L"Show popups", settings, Setting_ShowPopupVisual), - m_focusManager(m_focusList) -{ - InitializeVisualTree(systemCompositor); - - auto islandEnvironment = GetIsland().Environment(); - m_islandEnvironmentStateChangedRevoker = { islandEnvironment, islandEnvironment.StateChanged( - [&](auto&&, winrt::Microsoft::UI::Content::ContentEnvironmentStateChangedEventArgs const& args) - { - if (args.DidDisplayScaleChange()) - { - HandleDisplayScaleChanged(); - } - }) - }; -} - -bool RootFrame::SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM lParam) -{ - if (message == WM_SYSKEYDOWN || message == WM_KEYDOWN) - { - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Menu) - { - m_acceleratorActive = !m_acceleratorActive; - m_acceleratorLabel.GetVisual().IsVisible(m_acceleratorActive); - } - else { - m_acceleratorActive = false; - m_acceleratorLabel.GetVisual().IsVisible(false); - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Number1) - { - // Take focus - m_focusManager.SetFocusToVisual(GetRootVisualTreeNode(), GetRootVisualTreeNode()->OwningFocusList()); - } - } - } - - if (m_leftFrame->SystemPreTranslateMessage(message, wParam, lParam)) - { - return true; - } - if (m_rightFrame->SystemPreTranslateMessage(message, wParam, lParam)) - { - return true; - } - return false; -} - -LRESULT RootFrame::HandleMessage( - UINT message, - WPARAM wParam, - LPARAM lParam, - _Out_ bool* handled) -{ - UNREFERENCED_PARAMETER(wParam); - - *handled = false; - switch (message) - { - case WM_LBUTTONDOWN: - { - OnClick(PointFromLParam(lParam), false); - *handled = true; - break; - } - case WM_RBUTTONDOWN: - { - OnClick(PointFromLParam(lParam), true); - *handled = true; - break; - } - case WM_KEYDOWN: - { - OnKeyPress(wParam); - *handled = true; - break; - } - case WM_SETFOCUS: - { - m_focusManager.RestoreFocus(); - break; - } - case WM_KILLFOCUS: - { - m_focusManager.ClearFocus(); - break; - } - } - - return 0; -} - -void RootFrame::ConnectLeftFrame(IFrame* frame) -{ - m_leftFrame = frame; - auto leftContentVisualNode = m_leftContentPeer->VisualNode(); - m_leftChildSiteLink = ConnectChildFrame(frame, leftContentVisualNode->Visual().as()); - - if (frame->IsLiftedFrame()) - { - // Automation flows through the Content APIs when the child is lifted content. - m_leftContentPeer->SetChildSiteLink(m_leftChildSiteLink); - - // Focus flows through the InputFocusNavigationHost API when the child is lifted content. - m_focusList->SetChildSiteLink(m_rightChildSiteLink, 2); - } - else - { - // Automation flows through an explicit IFrameHost API when the child is system content. - m_leftContentPeer->SetChildFrame(frame); - - // Set up hit testing so these visuals are treated as parent / child in the hit test tree. - // This is needed because a child system island does not implicitly get pointer events and - // needs to have hit testing forwarded by the parent island. - HitTestContext::ConfigureCrossTreeConnection(leftContentVisualNode, frame->GetRootVisualTreeNode()); - - // Focus lists are directly linked together for a child system frame. - m_focusList->SetChildFocusList(frame->GetFocusList(), 2); - } - - HandleContentLayout(); -} - -void RootFrame::ConnectRightFrame(IFrame* frame) -{ - m_rightFrame = frame; - auto rightContentVisualNode = m_rightContentPeer->VisualNode(); - m_rightChildSiteLink = ConnectChildFrame(frame, rightContentVisualNode->Visual().as()); - - if (frame->IsLiftedFrame()) - { - // Automation flows through the Content APIs when the child is lifted content. - m_rightContentPeer->SetChildSiteLink(m_rightChildSiteLink); - - // Focus flows through Content APIs when the child is lifted content. - m_focusList->SetChildSiteLink(m_rightChildSiteLink, 3); - } - else - { - // Automation flows through an explicit IFrameHost API when the child is system content. - m_rightContentPeer->SetChildFrame(frame); - - // Set up hit testing so these visuals are treated as parent / child in the hit test tree. - // This is needed because a child system island does not implicitly get pointer events and - // needs to have hit testing forwarded by the parent island. - HitTestContext::ConfigureCrossTreeConnection(rightContentVisualNode, frame->GetRootVisualTreeNode()); - - // Focus lists are directly linked together for a system frame. - m_focusList->SetChildFocusList(frame->GetFocusList(), 3); - } - - HandleContentLayout(); -} - -winrt::com_ptr<::IRawElementProviderFragmentRoot> RootFrame::GetFragmentRootProviderForChildFrame(_In_ IFrame const* const) const -{ - return m_frameHost->GetFragmentRootProviderForChildFrame(this); -} - -winrt::com_ptr<::IRawElementProviderFragment> RootFrame::GetNextSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // We've set up our automation tree in a way so that the frame providers are solitary children of their parent. - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> RootFrame::GetParentProviderForChildFrame(_In_ IFrame const* const sender) const -{ - if (sender == m_leftFrame) - { - return m_leftContentPeer->Fragment(); - } - else if (sender == m_rightFrame) - { - return m_rightContentPeer->Fragment(); - } - - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> RootFrame::GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // We've set up our automation tree in a way so that the frame providers are solitary children of their parent. - return nullptr; -} - -void RootFrame::SetFocusHost(IFocusHost* focusHost) -{ - m_focusManager.InitializeWithFocusHost(focusHost); -} - -winrt::Point RootFrame::PointFromLParam( - LPARAM lParam) const -{ - auto rasterizationScale = GetIsland().RasterizationScale(); - - return { - static_cast(GET_X_LPARAM(lParam)) / rasterizationScale, - static_cast(GET_Y_LPARAM(lParam)) / rasterizationScale - }; -} - -void RootFrame::InitializeVisualTree( - const winrt::WUC::Compositor& compositor) -{ - auto rootVisual = compositor.CreateSpriteVisual(); - auto rootVisualNode = VisualTreeNode::Create(rootVisual.as<::IUnknown>()); - rootVisualNode->HitTestCallback([this](const HitTestContext& context) { - AddClickSquare(context.Point(), context.IsRightClick()); - return true; - }); - - auto rootVisualPeer = m_automationTree->CreatePeer(rootVisualNode, k_rootFrameName, UIA_PaneControlTypeId); - GetRootVisualTreeNode()->AddChild(rootVisualNode); - m_automationTree->Root()->AddChildToEnd(rootVisualPeer->Fragment()); - m_automationTree->AddPeer(rootVisualPeer); - - rootVisual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - - // Set our background color - auto colorBrush = compositor.CreateColorBrush(ColorUtils::LightPink()); - rootVisual.Brush(colorBrush); - - // Partition the layout into two regions: ribbon and document content - m_ribbonRootVisual = compositor.CreateContainerVisual(); - auto ribbonRootVisualNode = VisualTreeNode::Create(m_ribbonRootVisual.as<::IUnknown>()); - m_ribbonPeer = m_automationTree->CreatePeer(ribbonRootVisualNode, k_ribbonFrameName, UIA_PaneControlTypeId); - rootVisualNode->AddChild(ribbonRootVisualNode); - rootVisualPeer->Fragment()->AddChildToEnd(m_ribbonPeer->Fragment()); - m_automationTree->AddPeer(m_ribbonPeer); - - m_documentRootVisual = compositor.CreateContainerVisual(); - auto documentRootVisualNode = VisualTreeNode::Create(m_documentRootVisual.as<::IUnknown>()); - m_documentPeer = m_automationTree->CreatePeer(documentRootVisualNode, k_documentFrameName, UIA_PaneControlTypeId); - rootVisualNode->AddChild(documentRootVisualNode); - rootVisualPeer->Fragment()->AddChildToEnd(m_documentPeer->Fragment()); - m_automationTree->AddPeer(m_documentPeer); - - InitializeRibbonContent(); - InitializeDocumentContent(); - - // Insert the labels into the tree. - InsertTextVisual(m_rootLabel, m_automationTree, rootVisualPeer); - InsertTextVisual(m_ribbonLabel, m_automationTree, m_ribbonContentPeer); - m_acceleratorLabel.SetBackgroundColor(winrt::Microsoft::UI::Colors::OldLace()); - m_acceleratorLabel.GetVisual().Offset(winrt::Windows::Foundation::Numerics::float3(m_rootLabel.Size().Width+3, 0, 0)); - m_acceleratorLabel.GetVisual().IsVisible(false); - InsertTextVisual(m_acceleratorLabel, m_automationTree, rootVisualPeer); - - // Rotate the ribbon label 22 degrees and re-rasterize. - m_ribbonLabel.GetVisual().RotationAngleInDegrees(22); - - // On top of all of them is the click square content - auto clickSquareRoot = compositor.CreateContainerVisual(); - m_clickSquareRoot = VisualTreeNode::Create(clickSquareRoot.as<::IUnknown>()); - rootVisualNode->AddChild(m_clickSquareRoot); - - // Setup our focus list - m_focusList->AddVisual(m_ribbonContentPeer->VisualNode()); // Index 1 (root visual is always 0) - m_focusList->AddPlaceholder(); // Left content - index 2 - m_focusList->AddPlaceholder(); // Right content - index 3 -} - -void RootFrame::InitializeDocumentContent() -{ - // We make 4 pieces of content here: back, front, left, and right - // 'back' and 'front' sit, respectively, above and below in z-order from the left and right content - // The left and right content are set up to be child frames. - // Everything is slightly overlapping to make things interesting and make clear - // what the effects of the z-ordering are. - auto documentRootVisualNode = m_documentPeer->VisualNode(); - auto documentFragment = m_documentPeer->Fragment(); - - auto compositor = m_documentRootVisual.Compositor(); - auto grayBrush = compositor.CreateColorBrush(winrt::Windows::UI::Colors::DarkGray()); - - // Helper to add the "Back" and "Front" visuals. - auto AddLabeledRectangle = [&](SystemTextVisual& label) { - auto visual = compositor.CreateContainerVisual(); - - auto visualNode = VisualTreeNode::Create(visual.as<::IUnknown>()); - auto visualPeer = m_automationTree->CreatePeer(visualNode, label.GetText(), UIA_ImageControlTypeId); - documentRootVisualNode->AddChild(visualNode); - documentFragment->AddChildToEnd(visualPeer->Fragment()); - m_automationTree->AddPeer(visualPeer); - - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - auto colorVisualPeer = m_automationTree->CreatePeer(colorVisualNode, label.GetText(), UIA_ImageControlTypeId); - visualNode->AddChild(colorVisualNode); - colorVisual.RelativeSizeAdjustment({1.0f, 1.0f}); - colorVisual.Brush(grayBrush); - - InsertTextVisual(label, m_automationTree, visualPeer); - - return visual; - }; - - // Back content - m_backContentVisual = AddLabeledRectangle(m_backLabel); - - // Left Frame content - m_leftContentVisual = compositor.CreateContainerVisual(); - auto leftContentVisualNode = VisualTreeNode::Create(m_leftContentVisual.as<::IUnknown>()); - m_leftContentPeer = m_automationTree->CreatePeer(leftContentVisualNode, L"Left", UIA_PaneControlTypeId); - documentRootVisualNode->AddChild(leftContentVisualNode); - documentFragment->AddChildToEnd(m_leftContentPeer->Fragment()); - m_automationTree->AddPeer(m_leftContentPeer); - - // Right Frame content - m_rightContentVisual = compositor.CreateContainerVisual(); - auto rightContentVisualNode = VisualTreeNode::Create(m_rightContentVisual.as<::IUnknown>()); - m_rightContentPeer = m_automationTree->CreatePeer(rightContentVisualNode, L"Right", UIA_PaneControlTypeId); - documentRootVisualNode->AddChild(rightContentVisualNode); - documentFragment->AddChildToEnd(m_rightContentPeer->Fragment()); - m_automationTree->AddPeer(m_rightContentPeer); - - // Front content - m_frontContentVisual = AddLabeledRectangle(m_frontLabel); -} - -void RootFrame::InitializeRibbonContent() -{ - // Eventually we want to make the ribbon content more complicated, - // but for now we just make a slightly darker pink rectangle - auto ribbonRootVisualNode = m_ribbonPeer->VisualNode(); - auto ribbonRoot = ribbonRootVisualNode->Visual().as(); - auto ribbonFragment = m_ribbonPeer->Fragment(); - - auto compositor = ribbonRoot.Compositor(); - auto ribbonBrush = compositor.CreateColorBrush(ColorUtils::DarkPink()); - - m_ribbonContentVisual = compositor.CreateSpriteVisual(); - auto ribbonContentVisualNode = VisualTreeNode::Create(m_ribbonContentVisual.as<::IUnknown>()); - m_ribbonContentPeer = m_automationTree->CreatePeer(ribbonContentVisualNode, L"Ribbon Content", UIA_ImageControlTypeId); - ribbonRootVisualNode->AddChild(ribbonContentVisualNode); - ribbonFragment->AddChildToEnd(m_ribbonContentPeer->Fragment()); - m_automationTree->AddPeer(m_ribbonContentPeer); - m_ribbonContentVisual.Brush(ribbonBrush); - - InsertCheckBoxVisual(m_forceAliasedTextCheckBox, m_automationTree, m_ribbonContentPeer); - InsertCheckBoxVisual(m_disablePixelSnappingCheckBox, m_automationTree, m_ribbonContentPeer); - InsertCheckBoxVisual(m_showSpriteBoundsCheckBox, m_automationTree, m_ribbonContentPeer); - InsertCheckBoxVisual(m_showSpriteGenerationCheckBox, m_automationTree, m_ribbonContentPeer); - InsertCheckBoxVisual(m_showPopupVisualCheckBox, m_automationTree, m_ribbonContentPeer); -} - -void RootFrame::OnClick( - const winrt::Point& point, - bool isRightClick) -{ - // Run a hittest. This will invoke any callbacks on the visual tree nodes. - HitTestContext context{ m_focusManager, GetRootVisualTreeNode() }; - context.RunHitTest(point, isRightClick); -} - -void RootFrame::AddClickSquare( - const winrt::Point& point, - bool isRightClick) -{ - auto compositor = m_clickSquareRoot->Visual().as().Compositor(); - - // Create a 10x10 visual - auto visual = compositor.CreateSpriteVisual(); - auto visualNode = VisualTreeNode::Create(visual.as<::IUnknown>()); - m_clickSquareRoot->AddChild(visualNode); - visual.Size({ 10.0f, 10.0f }); - visual.Offset({ point.X - 5, point.Y - 5, 0.0f }); - - // Set the brush color based on isRightClick - auto color = isRightClick ? winrt::Windows::UI::Colors::DeepPink() : winrt::Windows::UI::Colors::Orange(); - auto brush = compositor.CreateColorBrush(color); - visual.Brush(brush); -} - -void RootFrame::OnKeyPress( - WPARAM wParam) -{ - if (wParam == 'A' || wParam == 'B' || wParam == 'C') - { - auto compositor = GetRootVisualTreeNode()->Visual().as().Compositor(); - winrt::Windows::UI::Color color = - (wParam == 'A') ? ColorUtils::DarkPink() : - (wParam == 'B') ? winrt::Windows::UI::Colors::Purple() : - winrt::Windows::UI::Colors::Lavender(); - auto brush = compositor.CreateColorBrush(color); - m_ribbonContentPeer->VisualNode()->Visual().as().Brush(brush); - } - else if (wParam == VK_ESCAPE) - { - m_clickSquareRoot->RemoveAllChildren(); - } - else if (wParam == VK_SUBTRACT || wParam == VK_OEM_MINUS) - { - SetZoomFactor(m_zoomFactor - k_zoomIncrement); - } - else if (wParam == VK_ADD || wParam == VK_OEM_PLUS) - { - SetZoomFactor(m_zoomFactor + k_zoomIncrement); - } - else if (wParam == 'O') - { - m_rotationAngle = (m_rotationAngle + (m_rotationAngleLimit - 1)) % m_rotationAngleLimit; - HandleContentLayout(); - } - else if (wParam == 'P') - { - m_rotationAngle = (m_rotationAngle + 1) % m_rotationAngleLimit; - HandleContentLayout(); - } - else if (wParam == VK_TAB) - { - if ((GetKeyState(VK_SHIFT) & 0x8000) != 0) - { - m_focusManager.NavigateBackward(); - } - else - { - m_focusManager.NavigateForward(); - } - } -} - -void RootFrame::SetZoomFactor(float newZoom) -{ - newZoom = std::max(k_minZoom, std::min(k_maxZoom, newZoom)); - if (newZoom != m_zoomFactor) - { - m_zoomFactor = newZoom; - if (m_leftChildSiteLink != nullptr) - { - HandleContentLayout(); - } - } -} - -void RootFrame::HandleContentLayout() -{ - // Visual tree: - // - // root - // | - // +---- m_ribbonRootVisual - // | - // +---- m_documentRootVisual - // | - // +---- m_backContentVisual - // | - // +---- m_leftContentVisual - // | - // +---- m_rightContentVisual - // | - // +---- m_frontContentVisual - // - // Visual layout: - // - // +---------------------------------------------------+ - // | m_ribbonRootVisual | - // +------------------------+-+------------------------+ - // | | | | - // | m_leftContentVisual | | m_rightContentVisual | - // | | | | - // | m_backContentVisual | - // +----------------m_frontContentVisual---------------+ - // +---------------------------------------------------+ - // - - // The root island's rasterization scale is 1, so we will explicitily multiply - // logical units by the display scale. - const float rasterizationScale = GetIsland().RasterizationScale(); - const float displayScale = GetIsland().Environment().DisplayScale(); - assert(rasterizationScale == 1); - - // Ensure each label's scale matches the display scale. - if (m_rootLabel.GetVisual().Scale().x != displayScale) - { - for (auto* label : { &m_rootLabel, &m_ribbonLabel, &m_backLabel, &m_frontLabel }) - { - label->GetVisual().Scale({displayScale, displayScale, 1.0f}); - } - - for (auto* control : { &m_forceAliasedTextCheckBox, &m_disablePixelSnappingCheckBox, &m_showSpriteBoundsCheckBox, &m_showSpriteGenerationCheckBox, &m_showPopupVisualCheckBox }) - { - control->GetVisual().Scale({displayScale, displayScale, 1.0f}); - } - } - - // Create a helper object for setting visual positions. - // The docker snaps to pixels unless we pass zero as the rasterization scale. - float dockerRasterizationScale = !GetSetting(Setting_DisablePixelSnapping) ? rasterizationScale : 0.0f; - FrameDocker docker(GetIsland().ActualSize(), dockerRasterizationScale); - - // Reserve whitespace around the boundary of the island. - float inset = k_inset * displayScale; - docker.Inset(inset); - - // Dock the ribbon root visual to the top of the island. - docker.DockTop(m_ribbonRootVisual, k_ribbonHeight * displayScale); - - // Use relative layout to position the ribbon content within the ribbon root. - m_ribbonContentVisual.RelativeSizeAdjustment({1.0f, 1.0f}); - m_ribbonContentVisual.Size({ -(inset*2), -(inset*2) }); - m_ribbonContentVisual.Offset({ inset, inset, 0.0f }); - - // Position the check boxes within the ribbon. - float checkBoxLeft = 100.0f * displayScale; - for (auto* control : { &m_forceAliasedTextCheckBox, &m_disablePixelSnappingCheckBox, &m_showSpriteBoundsCheckBox, &m_showSpriteGenerationCheckBox, &m_showPopupVisualCheckBox }) - { - auto& visual = control->GetVisual(); - visual.Offset({ checkBoxLeft, inset * 2, 0.0f }); - checkBoxLeft += (visual.Size().x + 20.0f) * displayScale; - } - - // Let the document root visual fill the remaining space. - docker.DockFill(m_documentRootVisual); - - // The remaining visuals are children of the document root visual. - docker = FrameDocker(m_documentRootVisual.Size(), dockerRasterizationScale); - - // Position the rectangular "back" and "front" visuals. - float rectWidth = 100 * displayScale; - float rectHeight = 200 * displayScale; - m_backContentVisual.Offset({docker.Left(), docker.Top(), 0.0f}); - m_backContentVisual.Size({rectWidth, rectHeight}); - m_frontContentVisual.Offset({docker.Right() - rectWidth, docker.Bottom() - rectHeight, 0.0f}); - m_frontContentVisual.Size({rectWidth, rectHeight}); - - // Add some whitespace so the left and right content visuals only partially overlap - // the "back" and "front" visuals. - docker.InsetTop(m_backLabel.Size().Height * displayScale); - docker.InsetLeft(inset); - docker.InsetRight(inset * 2); - - // Position the left and right content visuals. - docker.DockLeftRelativeWithMargin(m_leftContentVisual, 0.5f, inset); - docker.DockFill(m_rightContentVisual); - - // Scale the left and right content visuals, so the child islands' rasterization scale - // will include DPI scaling. The left visual's scale also includes zoom. - m_leftContentVisual.Scale({displayScale * m_zoomFactor, displayScale * m_zoomFactor, 1.0f}); - m_rightContentVisual.Scale({displayScale, displayScale, 1.0f}); - - // Divide both visuals' sizes by the display scale because the size is in pre-scaled units. - m_leftContentVisual.Size(m_leftContentVisual.Size() / displayScale); - m_rightContentVisual.Size(m_rightContentVisual.Size() / displayScale); - - // Set the left content visual's rotatoin angle. - m_leftContentVisual.RotationAngle(m_rotationAngle * m_rotationAngleUnit); - - SystemFrame::HandleContentLayout(); - - if (m_leftChildSiteLink != nullptr) - { - auto leftContentVisualNode = m_leftContentPeer->VisualNode(); - m_leftChildSiteLink.LocalToParentTransformMatrix(leftContentVisualNode->Transform4x4()); - - m_leftChildSiteLink.ActualSize(leftContentVisualNode->Size()); - } - - if (m_rightChildSiteLink != nullptr) - { - auto rightContentVisualNode = m_rightContentPeer->VisualNode(); - m_rightChildSiteLink.LocalToParentTransformMatrix(rightContentVisualNode->Transform4x4()); - - m_rightChildSiteLink.ActualSize(rightContentVisualNode->Size()); - } -} - -void RootFrame::HandleDisplayScaleChanged() -{ - HandleContentLayout(); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/RootFrame.h b/Samples/Islands/UXFrameworksOnIslands/RootFrame.h deleted file mode 100644 index 0a6c2a70e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/RootFrame.h +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "SystemFrame.h" -#include "TextVisual.h" -#include "CheckBox.h" -#include "FocusManager.h" - -class RootFrame final : public SystemFrame, public IFrameHost -{ -public: - RootFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings); - - bool SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM lParam) override; - - LRESULT HandleMessage( - UINT message, - WPARAM wParam, - LPARAM lParam, - _Out_ bool* handled) override; - - void ConnectLeftFrame(IFrame* frame); - void ConnectRightFrame(IFrame* frame); - - // IFrameHost overrides. - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetParentProviderForChildFrame(_In_ IFrame const* const sender) const override; - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const sender) const override; - - // The RootFrame needs to communicate with the ToplevelWindow in order to handle focus. - // This is done through the IFocusHost interface. - void SetFocusHost(IFocusHost* focusHost); - -private: - static constexpr float k_inset = 10.0f; - static constexpr float k_ribbonHeight = 100.0f; - - static constexpr float k_minZoom = 0.5f; - static constexpr float k_maxZoom = 2.0f; - static constexpr float k_zoomIncrement = 0.25f; - float m_zoomFactor = 1.0f; - - static constexpr float m_rotationAngleUnit = 3.14159f / 2; - static constexpr int m_rotationAngleLimit = 4; - int m_rotationAngle = 0; - - winrt::Point PointFromLParam( - LPARAM lParam) const; - - void InitializeVisualTree( - const winrt::WUC::Compositor& compositor); - void InitializeDocumentContent(); - void InitializeRibbonContent(); - - void OnClick( - const winrt::Point& point, - bool isRightClick); - - void AddClickSquare( - const winrt::Point& point, - bool isRightClick); - - void OnKeyPress( - WPARAM wParam); - - void SetZoomFactor(float newZoom); - - void HandleContentLayout() override; - void HandleDisplayScaleChanged(); - - std::shared_ptr m_clickSquareRoot = nullptr; - - IFrame* m_leftFrame = nullptr; - IFrame* m_rightFrame = nullptr; - - winrt::ChildSiteLink m_leftChildSiteLink = nullptr; - winrt::ChildSiteLink m_rightChildSiteLink = nullptr; - - static constexpr wchar_t k_rootFrameName[] = L"Root"; - static constexpr wchar_t k_ribbonFrameName[] = L"Ribbon"; - static constexpr wchar_t k_documentFrameName[] = L"Document"; - - SystemTextVisual m_rootLabel; - SystemTextVisual m_ribbonLabel; - SystemTextVisual m_backLabel; - SystemTextVisual m_frontLabel; - SystemTextVisual m_acceleratorLabel; - bool m_acceleratorActive = false; - SystemCheckBox m_forceAliasedTextCheckBox; - SystemCheckBox m_disablePixelSnappingCheckBox; - SystemCheckBox m_showSpriteBoundsCheckBox; - SystemCheckBox m_showSpriteGenerationCheckBox; - SystemCheckBox m_showPopupVisualCheckBox; - - winrt::WUC::ContainerVisual m_ribbonRootVisual{nullptr}; - winrt::WUC::ContainerVisual m_documentRootVisual{nullptr}; - winrt::WUC::ContainerVisual m_leftContentVisual{nullptr}; - winrt::WUC::ContainerVisual m_rightContentVisual{nullptr}; - winrt::WUC::SpriteVisual m_ribbonContentVisual{nullptr}; - winrt::WUC::ContainerVisual m_backContentVisual{nullptr}; - winrt::WUC::ContainerVisual m_frontContentVisual{nullptr}; - - std::shared_ptr m_leftContentPeer = nullptr; - std::shared_ptr m_rightContentPeer = nullptr; - std::shared_ptr m_documentPeer = nullptr; - std::shared_ptr m_ribbonPeer = nullptr; - std::shared_ptr m_ribbonContentPeer = nullptr; - - ContentIslandEnvironmentStateChanged_revoker m_islandEnvironmentStateChangedRevoker{}; - - FocusManager m_focusManager; -}; - diff --git a/Samples/Islands/UXFrameworksOnIslands/SettingCollection.cpp b/Samples/Islands/UXFrameworksOnIslands/SettingCollection.cpp deleted file mode 100644 index 14151f068..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/SettingCollection.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "SettingCollection.h" - -void SettingCollection::SetSetting(SettingId id, bool value) -{ - if (GetSetting(id) != value) - { - if (value) - { - m_flags |= 1u << id; - } - else - { - m_flags &= ~(1u << id); - } - for (auto handler : m_handlers) - { - handler->OnSettingChanged(id); - } - } -} - -void SettingCollection::AddEventHandler(ISettingChangedHandler* handler) -{ - m_handlers.push_back(handler); -} - -void SettingCollection::RemoveEventHandler(ISettingChangedHandler* handler) -{ - auto p = std::find(m_handlers.begin(), m_handlers.end(), handler); - if (p != m_handlers.end()) - { - m_handlers.erase(p); - } -} - -SettingChangedHandler::SettingChangedHandler(std::shared_ptr const& settings) : - m_settings(settings) -{ - m_settings->AddEventHandler(this); -} - -SettingChangedHandler::~SettingChangedHandler() -{ - m_settings->RemoveEventHandler(this); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/SettingCollection.h b/Samples/Islands/UXFrameworksOnIslands/SettingCollection.h deleted file mode 100644 index 0e997e6c5..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/SettingCollection.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -enum SettingId -{ - Setting_ForceAliasedText, - Setting_DisablePixelSnapping, - Setting_ShowSpriteBounds, - Setting_ShowSpriteGeneration, - Setting_ShowPopupVisual -}; - -class ISettingChangedHandler -{ -public: - virtual void OnSettingChanged(SettingId id) = 0; -}; - -class SettingCollection final -{ -public: - bool GetSetting(SettingId id) const noexcept - { - return ((m_flags >> id) & 1) != 0; - } - - void SetSetting(SettingId id, bool value); - - void AddEventHandler(ISettingChangedHandler* handler); - void RemoveEventHandler(ISettingChangedHandler* handler); - -private: - uint32_t m_flags = 0; - std::vector m_handlers; -}; - -class SettingChangedHandler : public ISettingChangedHandler -{ -public: - SettingChangedHandler(std::shared_ptr const& settings); - ~SettingChangedHandler(); - - auto& GetSettings() const noexcept { return m_settings; } - - bool GetSetting(SettingId id) const noexcept - { - return m_settings->GetSetting(id); - } - -private: - std::shared_ptr m_settings; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/SystemFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/SystemFrame.cpp deleted file mode 100644 index 56e6fabcc..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/SystemFrame.cpp +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "SystemFrame.h" - -SystemFrame::SystemFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings) : - SettingChangedHandler(settings), - m_output(systemCompositor, settings) -{ - // Initialize our root visual and island - auto rootVisual = systemCompositor.CreateContainerVisual(); - rootVisual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - m_rootVisualTreeNode = VisualTreeNode::Create(rootVisual.as<::IUnknown>()); - m_island = winrt::ContentIsland::CreateForSystemVisual(queue, rootVisual); - m_automationTree = AutomationTree::Create(this, L"SystemFrame", UIA_PaneControlTypeId); - - m_focusList = FocusList::Create(); - m_focusList->AddVisual(m_rootVisualTreeNode); - - // Set up a handler for size changes - m_islandStateChangedRevoker = { m_island, m_island.StateChanged([&]( - auto&&, - winrt::Microsoft::UI::Content::ContentIslandStateChangedEventArgs const& args) - { - if (args.DidRasterizationScaleChange()) - { - auto matrix = GetIsland().LocalToClientTransformMatrix(); - m_output.SetRasterizationTransform(Matrix2x2(matrix)); - } - - if (args.DidActualSizeChange() || - args.DidRasterizationScaleChange()) - { - HandleContentLayout(); - } - }) }; - - HandleContentLayout(); -} - -void SystemFrame::OnSettingChanged(SettingId id) -{ - GetOutput().GetResourceList()->OnSettingChanged(GetOutput(), id); - - if (id == Setting_DisablePixelSnapping || id == Setting_ShowPopupVisual) - { - HandleContentLayout(); - } -} - -winrt::ChildSiteLink SystemFrame::ConnectChildFrame( - IFrame* frame, - const winrt::WUC::ContainerVisual& childPlacementVisual) -{ - auto childSiteLink = winrt::ChildSiteLink::CreateForSystemVisual(m_island, childPlacementVisual); - - // If we are connecting to a system island we need to mark the link - // appropriately. This can go away once we support input in a system island. - if (!frame->IsLiftedFrame()) - { - childSiteLink.AutomationOption(winrt::ContentAutomationOptions::None); - childSiteLink.ProcessesKeyboardInput(false); - childSiteLink.ProcessesPointerInput(false); - } - else - { - childSiteLink.AutomationOption(winrt::ContentAutomationOptions::FragmentBased); - } - - childSiteLink.Connect(frame->GetIsland()); - - return childSiteLink; -} - -void SystemFrame::HandleContentLayout() -{ - GetOutput().GetResourceList()->EnsureInitialized(GetOutput()); - - m_rootVisualTreeNode->Size(m_island.ActualSize()); - m_rootVisualTreeNode->ComputeSizeAndTransform(); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/SystemFrame.h b/Samples/Islands/UXFrameworksOnIslands/SystemFrame.h deleted file mode 100644 index 7bb7adf11..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/SystemFrame.h +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "IFrame.h" -#include "IFrameHost.h" -#include "AutomationTree.h" -#include "EventRevokers.h" -#include "Output.h" - -// Base class for frames using the system stack. -// This will pull together all the subsystems needed for a system frame -// and provide a way to connect child frames. -class SystemFrame : public IFrame, public SettingChangedHandler -{ -public: - SystemFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings); - - [[nodiscard]] winrt::com_ptr<::IRawElementProviderFragmentRoot> GetAutomationProvider() const final override { return m_automationTree->Root(); } - - [[nodiscard]] winrt::ContentCoordinateConverter GetConverter() const final override { return m_island.CoordinateConverter(); } - - [[nodiscard]] winrt::ContentIsland GetIsland() const final override { return m_island; } - - [[nodiscard]] std::shared_ptr GetRootVisualTreeNode() const final override { return m_rootVisualTreeNode; } - - [[nodiscard]] virtual std::shared_ptr GetFocusList() const final override { return m_focusList; } - - [[nodiscard]] bool IsLiftedFrame() const final { return false; } - - bool SystemPreTranslateMessage( - UINT /*message*/, - WPARAM /*wParam*/, - LPARAM /*lParam*/) override - { - // Default implementation does nothing. - return false; - } - - LRESULT HandleMessage( - UINT /*message*/, - WPARAM /*wParam*/, - LPARAM /*lParam*/, - _Out_ bool* handled) override - { - // Default implementation does nothing. - *handled = false; - return 0; - } - - void SetFrameHost(IFrameHost const* const frameHost) { m_frameHost = frameHost; m_automationTree->SetFrameHost(frameHost); } - - auto& GetOutput() noexcept { return m_output; } - -protected: - winrt::ChildSiteLink ConnectChildFrame( - IFrame* frame, - const winrt::WUC::ContainerVisual& childPlacementVisual); - - virtual void HandleContentLayout(); - - IFrameHost const* m_frameHost = nullptr; - std::shared_ptr m_automationTree = nullptr; - std::shared_ptr m_focusList{}; - -private: - void OnSettingChanged(SettingId id) override; - - SystemOutput m_output; - winrt::ContentIsland m_island = nullptr; - ContentIslandStateChanged_revoker m_islandStateChangedRevoker{}; - std::shared_ptr m_rootVisualTreeNode = nullptr; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/TemplateHelpers.h b/Samples/Islands/UXFrameworksOnIslands/TemplateHelpers.h deleted file mode 100644 index 0453d479d..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TemplateHelpers.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -template -struct CompositorTypes; - -// Dependent type defintions for the lifted compositor. -template<> -struct CompositorTypes -{ - using CompositionGraphicsDevice = winrt::CompositionGraphicsDevice; - using ICompositionGraphicsDeviceInterop = winrt::Microsoft::UI::Composition::ICompositionGraphicsDeviceInterop; - using CompositionDrawingSurface = winrt::CompositionDrawingSurface; - using ICompositionDrawingSurfaceInterop = winrt::Microsoft::UI::Composition::ICompositionDrawingSurfaceInterop; - using ContainerVisual = winrt::ContainerVisual; - using SpriteVisual = winrt::SpriteVisual; -}; - -// Dependent type defintions for the system compositor. -template<> -struct CompositorTypes -{ - using CompositionGraphicsDevice = winrt::WUC::CompositionGraphicsDevice; - using ICompositionGraphicsDeviceInterop = ABI::Windows::UI::Composition::ICompositionGraphicsDeviceInterop; - using CompositionDrawingSurface = winrt::WUC::CompositionDrawingSurface; - using ICompositionDrawingSurfaceInterop = ABI::Windows::UI::Composition::ICompositionDrawingSurfaceInterop; - using ContainerVisual = winrt::WUC::ContainerVisual; - using SpriteVisual = winrt::WUC::SpriteVisual; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/TextRenderer.cpp b/Samples/Islands/UXFrameworksOnIslands/TextRenderer.cpp deleted file mode 100644 index 2fdf59276..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TextRenderer.cpp +++ /dev/null @@ -1,173 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "TextRenderer.h" -#include "CompositionDeviceResource.h" - -namespace -{ - winrt::com_ptr CreateDWriteFactory() - { - winrt::com_ptr factory; - - // Create the DWrite factory object. - winrt::check_hresult(DWriteCreateFactory( - DWRITE_FACTORY_TYPE_SHARED, - __uuidof(decltype(*factory)), - reinterpret_cast(factory.put()))); - - return factory; - } -} - -winrt::com_ptr const g_dwriteFactory = CreateDWriteFactory(); - -// Creates an object that encapsulates text formatting properties. -winrt::com_ptr CreateTextFormat( - _In_z_ WCHAR const* familyName, - float fontSize, - DWRITE_FONT_WEIGHT fontWeight, - DWRITE_FONT_STYLE fontStyle, - DWRITE_FONT_STRETCH fontStretch) -{ - winrt::com_ptr textFormat; - - winrt::check_hresult(g_dwriteFactory->CreateTextFormat( - familyName, - nullptr, - fontWeight, - fontStyle, - fontStretch, - fontSize, - L"en-US", - textFormat.put())); - - winrt::check_hresult(textFormat->SetWordWrapping(DWRITE_WORD_WRAPPING_NO_WRAP)); - - return textFormat; -} - -winrt::com_ptr const g_defaultTextFormat = CreateTextFormat(L"Segoe UI", k_defaultFontSize); - -// Creates an object that represents a formatted text string. -winrt::com_ptr CreateTextLayout(_In_z_ WCHAR const* text, _In_opt_ IDWriteTextFormat* textFormat) -{ - winrt::com_ptr textLayout; - winrt::check_hresult(g_dwriteFactory->CreateTextLayout( - text, - static_cast(wcslen(text)), - textFormat != nullptr ? textFormat : g_defaultTextFormat.get(), - /*maxWidth*/ 0, - /*maxHeight*/ 0, - /*out*/ textLayout.put())); - return textLayout; -} - -// Computes the logical width and height of the text layout object. -// Note: These are layout bounds, not ink bounds. -winrt::Size MeasureTextLayout(IDWriteTextLayout* textLayout) -{ - // Get the metrics from the text layout. - DWRITE_TEXT_METRICS textMetrics; - winrt::check_hresult(textLayout->GetMetrics(/*out*/ &textMetrics)); - - return { textMetrics.width, textMetrics.height }; -} - -winrt::com_ptr CreateFontFace(_In_z_ wchar_t const* familyName) -{ - winrt::com_ptr fontCollection; - winrt::check_hresult(g_dwriteFactory->GetSystemFontCollection( - false, - DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC, - fontCollection.put())); - - static const DWRITE_FONT_AXIS_VALUE axisValues[] = { - { DWRITE_FONT_AXIS_TAG_WEIGHT, 400 }, - { DWRITE_FONT_AXIS_TAG_WIDTH, 100 }, - { DWRITE_FONT_AXIS_TAG_ITALIC, 0 }, - { DWRITE_FONT_AXIS_TAG_SLANT, 0 } - }; - - winrt::com_ptr matchingFonts; - winrt::check_hresult(fontCollection->GetMatchingFonts( - familyName, - axisValues, - ARRAYSIZE(axisValues), - matchingFonts.put())); - - winrt::com_ptr faceReference; - winrt::check_hresult(matchingFonts->GetFontFaceReference(0, faceReference.put())); - - winrt::com_ptr fontFace; - winrt::check_hresult(faceReference->CreateFontFace(fontFace.put())); - - return fontFace; -} - -DigitRenderer::DigitRenderer(float fontSize) : - m_fontFace(CreateFontFace(L"Segoe UI")), - m_fontSize(fontSize) -{ - // Get the glyph IDs for digits '0' through '9'. - uint32_t digitChars[10]; - for (uint32_t i = 0; i < 10; i++) - { - digitChars[i] = L'0' + i; - } - winrt::check_hresult(m_fontFace->GetGlyphIndices(digitChars, 10, m_digitGlyphIds)); - - // Get the conversion factor from font design units to logical units (DIPs). - DWRITE_FONT_METRICS fontMetrics; - m_fontFace->GetMetrics(&fontMetrics); - const float designToDips = m_fontSize / fontMetrics.designUnitsPerEm; - - // Get the cap height, which is also the height of a digit in Segoe UI. - m_scaledHeight = fontMetrics.capHeight * designToDips; - - // Get the advance width, assume all digits are the same with as '0'. - int32_t designAdvance; - winrt::check_hresult(m_fontFace->GetDesignGlyphAdvances(1, m_digitGlyphIds, &designAdvance)); - m_scaledAdvance = designAdvance * designToDips; -} - -DigitRenderer::DigitGlyphs::DigitGlyphs(uint16_t const (&digitGlyphIds)[10], uint32_t value) noexcept -{ - // Fill the m_glyphIds buffer from back to front. - uint32_t firstIndex = k_maxLength; - - // Fill in the glyph ID for the last digit. - m_glyphIds[--firstIndex] = digitGlyphIds[value % 10]; - value /= 10; - - // Fill in the glyph IDs for the preceding digits. - while (firstIndex > 0 && value != 0) - { - m_glyphIds[--firstIndex] = digitGlyphIds[value % 10]; - value /= 10; - } - - m_length = k_maxLength - firstIndex; -} - -void DigitRenderer::Draw(ID2D1DeviceContext* deviceContext, D2D_POINT_2F const& topLeft, DigitGlyphs const& digits, ID2D1Brush* brush) const -{ - // Initialize the array of glyph Advances. - float runAdvances[DigitGlyphs::k_maxLength]; - for (uint32_t i = 0; i < digits.Length(); i++) - { - runAdvances[i] = m_scaledAdvance; - } - - // Fill in the glyph run structure. - DWRITE_GLYPH_RUN glyphRun{}; - glyphRun.fontFace = m_fontFace.get(); - glyphRun.fontEmSize = m_fontSize; - glyphRun.glyphCount = digits.Length(); - glyphRun.glyphIndices = digits.GlyphIds(); - glyphRun.glyphAdvances = runAdvances; - - // Draw the glyph run. - D2D_POINT_2F baselineOrigin{topLeft.x, topLeft.y + m_scaledHeight}; - deviceContext->DrawGlyphRun(baselineOrigin, &glyphRun, brush); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/TextRenderer.h b/Samples/Islands/UXFrameworksOnIslands/TextRenderer.h deleted file mode 100644 index dcb0678d7..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TextRenderer.h +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -extern winrt::com_ptr const g_dwriteFactory; - -inline constexpr float k_defaultFontSize = 14.0f; -inline constexpr float k_headingFontSize = 16.0f; - -// Creates an object that encapsulates text formatting properties. -winrt::com_ptr CreateTextFormat( - _In_z_ WCHAR const* familyName, - float fontSize = k_defaultFontSize, - DWRITE_FONT_WEIGHT fontWeight = DWRITE_FONT_WEIGHT_NORMAL, - DWRITE_FONT_STYLE fontStyle = DWRITE_FONT_STYLE_NORMAL, - DWRITE_FONT_STRETCH fontStretch = DWRITE_FONT_STRETCH_NORMAL); - -// Creates an object that represents a formatted text string. -winrt::com_ptr CreateTextLayout(_In_z_ WCHAR const* text, _In_opt_ IDWriteTextFormat* textFormat = nullptr); - -// Computes the logical width and height of the text layout object. -// Note: These are layout bounds, not ink bounds. -winrt::Size MeasureTextLayout(IDWriteTextLayout* textLayout); - -// Creates the default "Normal" font face in the specified font family. -winrt::com_ptr CreateFontFace(_In_z_ wchar_t const* familyName); - -// Specialized class for rendering decimal numbers. -// -// Since we're only rendering the digits '0' through '9' in a known font, -// we can optimize by making some assumptions that would not be safe for -// arbitrary text, namely: -// -// - All the characters we need to render are in the base font. -// - The text is a 1:1 mapping of characters to glyphs (no complex layout). -// - All glyphs have the same advance width. -// - The height only includes the cap height (no descent or extra white space). -// -class DigitRenderer -{ -public: - explicit DigitRenderer(float fontSize); - - class DigitGlyphs - { - public: - // UINT32_MAX has 10 decimal digits. - static constexpr uint32_t k_maxLength = 10; - - DigitGlyphs(uint16_t const (&digitGlyphIds)[10], uint32_t value) noexcept; - - _Ret_range_(1, k_maxLength) uint32_t Length() const noexcept - { - return m_length; - } - - _Ret_writes_(m_length) uint16_t const* GlyphIds() const noexcept - { - return m_glyphIds + (k_maxLength - m_length); - } - - private: - // Buffer for glyph IDs. We grow from the end, so the glyph IDs - // are in the last m_length elements of this buffer. - uint16_t m_glyphIds[k_maxLength]; - - // Number of digits. - _Field_range_(1, k_maxLength) uint32_t m_length; - }; - - DigitGlyphs GetDigitGlyphs(uint32_t value) const noexcept - { - return DigitGlyphs(m_digitGlyphIds, value); - } - - float Width(DigitGlyphs const& digits) const noexcept - { - return m_scaledAdvance * digits.Length(); - } - - float Height() const noexcept - { - return m_scaledHeight; - } - - void Draw(ID2D1DeviceContext* deviceContext, D2D_POINT_2F const& topLeft, DigitGlyphs const& digits, ID2D1Brush* brush) const; - -private: - winrt::com_ptr m_fontFace; - float m_fontSize; - float m_scaledHeight; - float m_scaledAdvance; - uint16_t m_digitGlyphIds[10]; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/TextVisual.cpp b/Samples/Islands/UXFrameworksOnIslands/TextVisual.cpp deleted file mode 100644 index 22b28efb1..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TextVisual.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "TextVisual.h" -#include "Output.h" -#include "TextRenderer.h" - -template -TextVisual::TextVisual(Output const& output, std::wstring&& text) : - TextVisual(output, std::move(text), nullptr) -{ -} - -template -TextVisual::TextVisual( - Output const& output, - std::wstring&& text, - winrt::com_ptr const& textLayout, - ContainerVisual const& containerVisual) : - D2DSprite(output, containerVisual), - m_text(std::move(text)), - m_textLayout(textLayout != nullptr ? textLayout : CreateTextLayout(m_text.c_str())), - m_size(MeasureTextLayout(m_textLayout.get())) -{ - SetVisualSize(); -} - -template -void TextVisual::SetVisualSize() -{ - GetVisual().Size({ m_origin.x + m_size.Width, m_origin.y + m_size.Height }); -} - -template -D2D_RECT_F TextVisual::GetLogicalBounds() const noexcept -{ - return { m_origin.x, m_origin.y, m_origin.x + m_size.Width, m_origin.y + m_size.Height }; -} - -template -D2D1_RECT_F TextVisual::GetPixelBounds(Output const& output, D2D1::Matrix3x2F const& rasterTransform) -{ - if (m_size.Width == 0 || m_size.Height == 0) - { - // Empty text layout. - return {}; - } - else - { - // Call the base implementation to compute the bounds from the rendered primitives. - return D2DSprite::GetPixelBounds(output, rasterTransform); - } -} - -template -void TextVisual::RenderContent(Output const& output, ID2D1DeviceContext5* deviceContext) -{ - // Set the text antialiasing mode. - // Note that ClearType is only used if the background is opaque. - auto antialiasMode = output.GetSetting(Setting_ForceAliasedText) ? D2D1_TEXT_ANTIALIAS_MODE_ALIASED : - GetBackgroundColor().A == 0xFF ? D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE : - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE; - deviceContext->SetTextAntialiasMode(antialiasMode); - - // Create the text brush. - winrt::com_ptr solidBrush; - winrt::check_hresult(deviceContext->CreateSolidColorBrush(ToColorF(m_textColor), solidBrush.put())); - - // Draw the text layout object. - deviceContext->DrawTextLayout({ m_origin.x, m_origin.y }, m_textLayout.get(), solidBrush.get()); -} - -template -void TextVisual::SetTextOrigin(winrt::Windows::Foundation::Numerics::float2 origin) -{ - m_origin = origin; - SetVisualSize(); -} - -template -void TextVisual::SetTextColor(winrt::Windows::UI::Color const& color) -{ - if (color != m_textColor) - { - m_textColor = color; - InvalidateContent(); - } -} - -template -void TextVisual::SetFormatWidth(float width) -{ - if (m_textLayout->GetWordWrapping() != DWRITE_WORD_WRAPPING_NO_WRAP) - { - m_textLayout->SetMaxWidth(width); - m_size = MeasureTextLayout(m_textLayout.get()); - SetVisualSize(); - InvalidateContent(); - } -} - -// Explicit template instantiation. -template class TextVisual; -template class TextVisual; diff --git a/Samples/Islands/UXFrameworksOnIslands/TextVisual.h b/Samples/Islands/UXFrameworksOnIslands/TextVisual.h deleted file mode 100644 index 4a26baa45..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TextVisual.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "OutputResource.h" -#include "D2DSprite.h" -#include "AutomationTree.h" -#include "VisualTreeNode.h" - -// Object that encapsulates a sprite visual containing text, which is -// rendered to a composition surface. -template -class TextVisual final : public D2DSprite -{ -public: - // D2DSprite is a dependent base, so its members are not found by unqualified - // lookup and have to be introduced explicitly. - using typename D2DSprite::ContainerVisual; - using D2DSprite::GetBackgroundColor; - using D2DSprite::GetVisual; - using D2DSprite::InvalidateContent; - - TextVisual(Output const& output, std::wstring&& text); - - TextVisual( - Output const& output, - std::wstring&& text, - winrt::com_ptr const& textLayout, - ContainerVisual const& containerVisual = nullptr); - - auto& GetText() const noexcept - { - return m_text; - } - - winrt::Size Size() const - { - return m_size; - } - - winrt::Windows::Foundation::Numerics::float2 GetTextOrigin() const - { - return m_origin; - } - - void SetTextOrigin(winrt::Windows::Foundation::Numerics::float2 origin); - - winrt::Windows::UI::Color const& GetTextColor() const& - { - return m_textColor; - } - - void SetTextColor(winrt::Windows::UI::Color const& color); - - void SetFormatWidth(float width); - -protected: - // D2DVisual methods. - D2D1_RECT_F GetPixelBounds(Output const& output, D2D1::Matrix3x2F const& rasterTransform) override; - void RenderContent(Output const& output, ID2D1DeviceContext5* deviceContext) override; - -private: - void SetVisualSize(); - D2D_RECT_F GetLogicalBounds() const noexcept; - - std::wstring m_text; - winrt::com_ptr m_textLayout; - winrt::Windows::UI::Color m_textColor = winrt::Windows::UI::Colors::Black(); - winrt::Size m_size = {}; - winrt::Windows::Foundation::Numerics::float2 m_origin = {}; -}; - -using LiftedTextVisual = TextVisual; -using SystemTextVisual = TextVisual; - -// Inserts a TextVisual into a visual tree. -template -void InsertTextVisual( - TextVisual const& textVisual, - std::shared_ptr const& automationTree, - std::shared_ptr const& parentPeer - ) -{ - auto visualNode = VisualTreeNode::Create(textVisual.GetVisual().as()); - auto visualPeer = automationTree->CreatePeer(visualNode, textVisual.GetText(), UIA_TextControlTypeId); - parentPeer->VisualNode()->AddChild(visualNode); - parentPeer->Fragment()->AddChildToEnd(visualPeer->Fragment()); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.cpp b/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.cpp deleted file mode 100644 index d83bb3917..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.cpp +++ /dev/null @@ -1,313 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "TopLevelWindow.h" -#include "NetUIFrame.h" -#include "VisualUtils.h" - -TopLevelWindow::TopLevelWindow( - const winrt::DispatcherQueue& queue) -{ - RegisterWindowClass(); - InitializeWindow(); - InitializeBridge(queue); - InitializeAutomation(); -} - -void TopLevelWindow::ConnectFrameToWindow( - IFrame* frame) -{ - // Mark the bridge with no keyboard or pointer input processing capabilities - // so that input doesn't go to the island but instead goes to the window. - m_bridge.ProcessesKeyboardInput(false); - m_bridge.ProcessesPointerInput(false); - - m_bridge.Connect(frame->GetIsland()); - - m_frame = frame; -} - -// AutomationHelpers::IAutomationFragmentCallbackHandler implementation -winrt::Windows::Graphics::RectInt32 TopLevelWindow::GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender) const -{ - if (sender != m_windowAutomationRoot->GetIUnknown()) - { - // Return an empty rectangle if the sender is not our window's automation root. - return { 0, 0, 0, 0 }; - } - - // Get the window rect in screen pixels. - RECT rect{}; - ::GetWindowRect(m_hwnd, &rect); - winrt::Windows::Graphics::RectInt32 boundingRect{}; - boundingRect.X = rect.left; - boundingRect.Y = rect.top; - boundingRect.Width = rect.right - rect.left; - boundingRect.Height = rect.bottom - rect.top; - - return boundingRect; -} - - -void TopLevelWindow::HandleSetFocusForAutomation( - ::IUnknown const* const) -{ - // Our automation provider does not have any special focus handling logic. - return; -} - -// AutomationHelpers::IAutomationFragmentRootCallbackHandler implementation -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetFragmentFromPointInScreenCoordinatesForAutomation( - double x, - double y, - ::IUnknown const* const sender) const -{ - if (sender != m_windowAutomationRoot->GetIUnknown()) - { - // Return nullptr if the sender is not our window's automation root. - return nullptr; - } - - // Get the client rect in screen pixels. - RECT rect{}; - ::GetClientRect(m_hwnd, &rect); - ::MapWindowPoints(m_hwnd, nullptr, reinterpret_cast(&rect), 2); - - if (x < rect.left || x >= rect.right || y < rect.top || y >= rect.bottom) - { - // The point is outside the client area. - return nullptr; - } - - // We have only one child fragment since we contain only one frame. - // If the child fragment is not hit, we return ourselves. - winrt::com_ptr<::IRawElementProviderFragment> childFragment{ nullptr }; - winrt::check_hresult(m_frame->GetAutomationProvider()->ElementProviderFromPoint(x, y, childFragment.put())); - return (nullptr != childFragment) ? childFragment : m_windowAutomationRoot.as<::IRawElementProviderFragment>(); -} - -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetFragmentInFocusForAutomation( - ::IUnknown const* const sender) const -{ - if (sender != m_windowAutomationRoot->GetIUnknown()) - { - // Return nullptr if the sender is not our window's automation root. - return nullptr; - } - - // We have only one child fragment since we contain only one frame. - return m_frame->GetAutomationProvider().as(); -} - -// AutomationHelpers::IAutomationExternalChildCallbackHandler implementation -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetFirstChildFragmentForAutomation( - ::IUnknown const* const sender) const -{ - if (sender != m_windowAutomationRoot->GetIUnknown()) - { - // Return nullptr if the sender is not our window's automation root. - return nullptr; - } - - // We have only one child fragment since we contain only one frame. - return m_frame->GetAutomationProvider().as(); -} - -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetLastChildFragmentForAutomation( - ::IUnknown const* const sender) const -{ - if (sender != m_windowAutomationRoot->GetIUnknown()) - { - // Return nullptr if the sender is not our window's automation root. - return nullptr; - } - - // We have only one child fragment since we contain only one frame. - return m_frame->GetAutomationProvider().as(); -} - -// IFrameHost implementation -winrt::com_ptr<::IRawElementProviderFragmentRoot> TopLevelWindow::GetFragmentRootProviderForChildFrame(_In_ IFrame const* const sender) const -{ - return (sender == m_frame) ? m_windowAutomationRoot : nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetNextSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // The RootFrame is the only frame directly connected to the DesktopAttachedSiteBridge. - return nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetParentProviderForChildFrame(_In_ IFrame const* const sender) const -{ - return (sender == m_frame) ? m_windowAutomationRoot : nullptr; -} - -winrt::com_ptr<::IRawElementProviderFragment> TopLevelWindow::GetPreviousSiblingProviderForChildFrame(_In_ IFrame const* const) const -{ - // The RootFrame is the only frame directly connected to the DesktopAttachedSiteBridge. - return nullptr; -} - -void TopLevelWindow::EnsureWin32Focus() const -{ - ::SetFocus(m_hwnd); -} - -/*static*/ -LRESULT CALLBACK TopLevelWindow::WindowProc( - HWND hwnd, - UINT message, - WPARAM wparam, - LPARAM lparam) -{ - // Retrieve the 'this' pointer from the user data - TopLevelWindow* pThis = reinterpret_cast(::GetWindowLongPtr(hwnd, GWLP_USERDATA)); - - if (message == WM_NCDESTROY) - { - // Clear the 'this' pointer from the user data - ::SetWindowLongPtr(hwnd, GWLP_USERDATA, NULL); - } - - if (pThis) - { - return pThis->MessageHandler(message, wparam, lparam); - } - else - { - return ::DefWindowProc(hwnd, message, wparam, lparam); - } -} - -LRESULT TopLevelWindow::MessageHandler( - UINT message, - WPARAM wparam, - LPARAM lparam) -{ - // First process messages ourselves - bool handled = false; - switch (message) - { - case WM_LBUTTONDOWN: - { - // Take Win32 focus on mouse click to the top level window. - // Don't mark as handled so the message can be forwarded to the frame. - ::SetFocus(m_hwnd); - break; - } - - case WM_GETOBJECT: - { - // Handle WM_GETOBJECT to provide UI Automation support - if (m_windowAutomationRoot != nullptr && (UiaRootObjectId == static_cast(lparam))) - { - m_windowAutomationRootRegisteredWithUIA = true; - return ::UiaReturnRawElementProvider(m_hwnd, wparam, lparam, m_windowAutomationRoot.get()); - } - break; - } - } - - // Forward the message to the frame - if (m_frame != nullptr && !handled) - { - LRESULT result = m_frame->HandleMessage(message, wparam, lparam, &handled); - if (handled) - { - return result; - } - } - - return ::DefWindowProc(m_hwnd, message, wparam, lparam); -} - -void TopLevelWindow::RegisterWindowClass() -{ - WNDCLASSEXW wcex{}; - - wcex.cbSize = sizeof(WNDCLASSEX); - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = TopLevelWindow::WindowProc; - wcex.hInstance = ::GetModuleHandle(nullptr); - wcex.lpszClassName = k_windowClassName; - wcex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); - wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); - - ::RegisterClassExW(&wcex); -} - -void TopLevelWindow::InitializeWindow() -{ - // Lifetime notes: - // - The TopLevelWindow object outlives the message loop - // - This means that 'this' is always valid in window messages, - // and we don't need reference counting or weak pointers. - - m_hwnd = ::CreateWindowExW( - 0, - k_windowClassName, - k_windowName, - WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, - 0, - CW_USEDEFAULT, - 0, - nullptr, - nullptr, - ::GetModuleHandle(nullptr), - this); - - THROW_LAST_ERROR_IF_NULL(m_hwnd); - - // Set 'this' as the user data for the window - ::SetWindowLongPtr(m_hwnd, GWLP_USERDATA, reinterpret_cast(this)); - - auto windowId = winrt::GetWindowIdFromWindow(m_hwnd); - m_window = winrt::AppWindow::GetFromWindowId(windowId); - - m_closingRevoker = { m_window, m_window.Closing([this](auto&&, auto&&) - { - // Stop the message loop - auto dispatcherQueue = winrt::DispatcherQueue::GetForCurrentThread(); - dispatcherQueue.EnqueueEventLoopExit(); - - // If we registered our automation root with UIA, we need to unregister it. - if (m_windowAutomationRootRegisteredWithUIA) - { - m_fragmentRevoker.reset(); - m_fragmentRootRevoker.reset(); - - winrt::check_hresult(::UiaDisconnectProvider(m_windowAutomationRoot.get())); - ::UiaReturnRawElementProvider(m_hwnd, 0, 0, nullptr); - - m_windowAutomationRootRegisteredWithUIA = false; - } - }) }; - - m_window.AssociateWithDispatcherQueue(winrt::DispatcherQueue::GetForCurrentThread()); - - m_window.Show(); -} - -void TopLevelWindow::InitializeBridge( - const winrt::DispatcherQueue& queue) -{ - auto windowId = m_window.Id(); - m_bridge = winrt::DesktopAttachedSiteBridge::CreateFromWindowId(queue, windowId); - m_bridge.OverrideScale(1.0f); -} - -void TopLevelWindow::InitializeAutomation() -{ - m_windowAutomationRoot = winrt::make_self(); - m_windowAutomationRoot->Name(k_windowAutomationName); - m_windowAutomationRoot->UiaControlTypeId(UIA_WindowControlTypeId); - m_windowAutomationRoot->HostProviderFromHwnd(m_hwnd); - - // Register ourselves for responding to UIA callbacks. - m_fragmentRevoker = m_windowAutomationRoot->SetFragmentCallbackHandler(this); - m_fragmentRootRevoker = m_windowAutomationRoot->SetFragmentRootCallbackHandler(this); - m_externalChildRevoker = m_windowAutomationRoot->SetExternalChildCallbackHandler(this); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.h b/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.h deleted file mode 100644 index a89e44c2e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/TopLevelWindow.h +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "IFrame.h" -#include "IFrameHost.h" -#include "IFocusHost.h" -#include "AutomationFragmentRoot.h" -#include "EventRevokers.h" - -// Wrapper class for our top level window, message loop, and message processing -class TopLevelWindow : - public AutomationHelpers::IAutomationFragmentCallbackHandler, - public AutomationHelpers::IAutomationFragmentRootCallbackHandler, - public AutomationHelpers::IAutomationExternalChildCallbackHandler, - public IFrameHost, - public IFocusHost -{ -public: - TopLevelWindow( - const winrt::DispatcherQueue& queue); - - void ConnectFrameToWindow( - IFrame* frame); - - // AutomationHelpers::IAutomationFragmentCallbackHandler implementation - winrt::Windows::Graphics::RectInt32 GetBoundingRectangleInScreenCoordinatesForAutomation( - ::IUnknown const* const sender - ) const override; - - void HandleSetFocusForAutomation( - ::IUnknown const* const sender - ) override; - - // AutomationHelpers::IAutomationFragmentRootCallbackHandler implementation - winrt::com_ptr<::IRawElementProviderFragment> GetFragmentFromPointInScreenCoordinatesForAutomation( - double x, - double y, - ::IUnknown const* const sender - ) const override; - - winrt::com_ptr<::IRawElementProviderFragment> GetFragmentInFocusForAutomation( - ::IUnknown const* const sender - ) const override; - - // AutomationHelpers::IAutomationExternalChildCallbackHandler implementation - winrt::com_ptr<::IRawElementProviderFragment> GetFirstChildFragmentForAutomation( - ::IUnknown const* const sender - ) const override; - - winrt::com_ptr<::IRawElementProviderFragment> GetLastChildFragmentForAutomation( - ::IUnknown const* const sender - ) const override; - - // IFrameHost implementation - winrt::com_ptr<::IRawElementProviderFragmentRoot> GetFragmentRootProviderForChildFrame( - _In_ IFrame const* const sender - ) const override; - - winrt::com_ptr<::IRawElementProviderFragment> GetNextSiblingProviderForChildFrame( - _In_ IFrame const* const sender - ) const override; - - winrt::com_ptr<::IRawElementProviderFragment> GetParentProviderForChildFrame( - _In_ IFrame const* const sender - ) const override; - - winrt::com_ptr<::IRawElementProviderFragment> GetPreviousSiblingProviderForChildFrame( - _In_ IFrame const* const sender - ) const override; - - // IFocusHost implementation - void EnsureWin32Focus() const override; - -private: - static LRESULT CALLBACK WindowProc( - HWND hwnd, - UINT message, - WPARAM wparam, - LPARAM lparam); - - LRESULT MessageHandler( - UINT message, - WPARAM wparam, - LPARAM lparam); - - void RegisterWindowClass(); - - void InitializeWindow(); - - void InitializeBridge( - const winrt::DispatcherQueue& queue); - - void InitializeAutomation(); - -private: - static constexpr wchar_t k_windowClassName[] = L"UXFrameworksOnIslandsClass"; - static constexpr wchar_t k_windowName[] = L"UXFrameworksOnIslands"; - static constexpr wchar_t k_windowAutomationName[] = L"UXFrameworksOnIslands TopLevelWindow"; - - HWND m_hwnd = NULL; - - winrt::AppWindow m_window = nullptr; - AppWindowClosing_revoker m_closingRevoker{}; - - winrt::DesktopAttachedSiteBridge m_bridge = nullptr; - - bool m_windowAutomationRootRegisteredWithUIA = false; - std::unique_ptr m_fragmentRevoker = nullptr; - std::unique_ptr m_fragmentRootRevoker = nullptr; - std::unique_ptr m_externalChildRevoker = nullptr; - winrt::com_ptr m_windowAutomationRoot = nullptr; - - IFrame* m_frame = nullptr; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.sln b/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.sln deleted file mode 100644 index 3f4fa6420..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.sln +++ /dev/null @@ -1,40 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.12.35514.174 d17.12 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UXFrameworksOnIslands", "UXFrameworksOnIslands.vcxproj", "{95109056-A832-4FFB-BF6C-D758DE67ADB4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM64 = Debug|ARM64 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM64 = Release|ARM64 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|ARM64.Build.0 = Debug|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x64.ActiveCfg = Debug|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x64.Build.0 = Debug|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x64.Deploy.0 = Debug|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x86.ActiveCfg = Debug|Win32 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x86.Build.0 = Debug|Win32 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Debug|x86.Deploy.0 = Debug|Win32 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|ARM64.ActiveCfg = Release|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|ARM64.Build.0 = Release|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|ARM64.Deploy.0 = Release|ARM64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x64.ActiveCfg = Release|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x64.Build.0 = Release|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x64.Deploy.0 = Release|x64 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x86.ActiveCfg = Release|Win32 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x86.Build.0 = Release|Win32 - {95109056-A832-4FFB-BF6C-D758DE67ADB4}.Release|x86.Deploy.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj b/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj deleted file mode 100644 index 91cd96235..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - true - true - true - {95109056-a832-4ffb-bf6c-d758de67adb4} - UXFrameworksOnIslands - UXFrameworksOnIslands - - $(RootNamespace) - en-US - 16.0 - false - true - Windows Store - 10.0 - 10.0 - 10.0.17763.0 - true - - - - - Debug - Win32 - - - Debug - x64 - - - Debug - ARM64 - - - Release - Win32 - - - Release - x64 - - - Release - ARM64 - - - - Application - v143 - Unicode - true - - - true - true - - - false - true - false - - - - - - - - - - - Use - precomp.h - Level4 - true - %(AdditionalOptions) /bigobj - - - gdi32.lib;%(AdditionalDependencies) - - - - - _DEBUG;%(PreprocessorDefinitions) - - - - - NDEBUG;%(PreprocessorDefinitions) - - - true - true - - - - - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - diff --git a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj.filters b/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj.filters deleted file mode 100644 index 1cc48b08d..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/UXFrameworksOnIslands.vcxproj.filters +++ /dev/null @@ -1,121 +0,0 @@ - - - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - Assets - - - - - {95109056-a832-4ffb-bf6c-d758de67adb4} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.cpp b/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.cpp deleted file mode 100644 index ae9cbfdfd..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.cpp +++ /dev/null @@ -1,471 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "VisualTreeNode.h" - -// static -std::shared_ptr VisualTreeNode::Create( - _In_ winrt::com_ptr<::IUnknown> const& visual) noexcept -{ - try - { - auto node = std::make_shared(); - node->Initialize(visual); - return node; - } - catch (...) {} - return nullptr; -} - -winrt::Windows::Foundation::Numerics::float2 VisualTreeNode::Size() const noexcept -{ - std::unique_lock lock{ m_mutex }; - return SizeInternal(); -} - -void VisualTreeNode::Size(_In_ winrt::Windows::Foundation::Numerics::float2 const& value) noexcept -{ - std::unique_lock lock{ m_mutex }; - m_size = value; -} - -winrt::Windows::Foundation::Numerics::float4x4 VisualTreeNode::Transform4x4() const noexcept -{ - std::unique_lock lock{ m_mutex }; - return TransformInternal(); -} - -winrt::Windows::Foundation::Numerics::float3x2 VisualTreeNode::Transform3x2() const noexcept -{ - std::unique_lock lock{ m_mutex }; - - auto t = TransformInternal(); - winrt::Windows::Foundation::Numerics::float3x2 ct{ t.m11, t.m12, t.m21, t.m22, t.m41, t.m42}; - - return ct; -} - -void VisualTreeNode::AddChild(_In_ std::shared_ptr const& child) -{ - std::unique_lock lock{ m_mutex }; - - auto childVisual = child->Visual(); - bool childVisualAdded{ false }; - - if (auto parent = m_visual.try_as()) - { - parent.Children().InsertAtTop(childVisual.as()); - childVisualAdded = true; - } - else if (auto parent2 = m_visual.try_as()) - { - parent2.Children().InsertAtTop(childVisual.as()); - childVisualAdded = true; - } - - if (childVisualAdded) - { - child->UpdateParent(shared_from_this()); - m_children.push_back(child); - - ComputeSizeAndTransformInternal(); - } -} - -void VisualTreeNode::RemoveChild(_In_ std::shared_ptr const& child) -{ - std::unique_lock lock{ m_mutex }; - - auto it = std::find(m_children.begin(), m_children.end(), child); - if (it != m_children.end()) - { - auto childVisual = child->Visual(); - - if (auto parent = m_visual.try_as()) - { - parent.Children().Remove(childVisual.as()); - } - else if (auto parent2 = m_visual.try_as()) - { - parent2.Children().Remove(childVisual.as()); - } - - child->UpdateParent(nullptr); - - m_children.erase(it); - } -} - -void VisualTreeNode::RemoveAllChildren() -{ - std::unique_lock lock{ m_mutex }; - - if (auto parent = m_visual.try_as()) - { - parent.Children().RemoveAll(); - } - else if (auto parent2 = m_visual.try_as()) - { - parent2.Children().RemoveAll(); - } - - for (auto& child : m_children) - { - child->UpdateParent(nullptr); - } - - m_children.clear(); -} - -void VisualTreeNode::ComputeSizeAndTransform() -{ - std::unique_lock lock{ m_mutex }; - - ComputeSizeAndTransformInternal(); -} - -winrt::Windows::Foundation::Rect VisualTreeNode::BoundsInTreeRootCoordinates() const -{ - std::unique_lock lock{ m_mutex }; - - // Local bound components. - auto topLeft = winrt::Windows::Foundation::Numerics::float2{ 0.0f, 0.0f }; - auto topRight = winrt::Windows::Foundation::Numerics::float2{ m_size.x, 0.0f }; - auto bottomLeft = winrt::Windows::Foundation::Numerics::float2{ 0.0f, m_size.y }; - auto bottomRight = winrt::Windows::Foundation::Numerics::float2{ m_size.x, m_size.y }; - - // Transform the local bounds to the root visual's coordinate space. - auto topLeftTransformed = winrt::Windows::Foundation::Numerics::transform(topLeft, m_transform); - auto topRightTransformed = winrt::Windows::Foundation::Numerics::transform(topRight, m_transform); - auto bottomLeftTransformed = winrt::Windows::Foundation::Numerics::transform(bottomLeft, m_transform); - auto bottomRightTransformed = winrt::Windows::Foundation::Numerics::transform(bottomRight, m_transform); - - // Compute the bounding box of the transformed local bounds. - auto left = std::min({ topLeftTransformed.x, topRightTransformed.x, bottomLeftTransformed.x, bottomRightTransformed.x }); - auto top = std::min({ topLeftTransformed.y, topRightTransformed.y, bottomLeftTransformed.y, bottomRightTransformed.y }); - auto right = std::max({ topLeftTransformed.x, topRightTransformed.x, bottomLeftTransformed.x, bottomRightTransformed.x }); - auto bottom = std::max({ topLeftTransformed.y, topRightTransformed.y, bottomLeftTransformed.y, bottomRightTransformed.y }); - - return winrt::Windows::Foundation::Rect{ left, top, right - left, bottom - top }; -} - -std::shared_ptr VisualTreeNode::HitTestInTreeRootCoordinates( - _In_ winrt::Windows::Foundation::Point const& point) -{ - std::unique_lock lock{ m_mutex }; - - auto pointInTreeCoordinates = winrt::Windows::Foundation::Numerics::float2{ point.X, point.Y }; - - // Transform the point to the local coordinate space. - winrt::Windows::Foundation::Numerics::float4x4 inverseTransform; - if (!winrt::Windows::Foundation::Numerics::invert(m_transform, &inverseTransform)) - { - // For now, hit testing is not supported if the transform is not invertible. - return nullptr; - } - - auto pointInLocalCoordinates = winrt::Windows::Foundation::Numerics::transform(pointInTreeCoordinates, inverseTransform); - if (pointInLocalCoordinates.x < 0.0f || pointInLocalCoordinates.x >= m_size.x || - pointInLocalCoordinates.y < 0.0f || pointInLocalCoordinates.y >= m_size.y) - { - // Out of bounds. - return nullptr; - } - - // Check if the point is within any of the children. - // Iterate in reverse to obey the z-order. - for (auto it = m_children.rbegin(); it != m_children.rend(); ++it) - { - auto child = *it; - auto childHit = child->HitTestInTreeRootCoordinates(point); - if (nullptr != childHit) - { - return childHit; - } - } - - // If none of the children were hit, then return this visual. - return shared_from_this(); -} - -bool VisualTreeNode::Match(_In_ winrt::com_ptr<::IUnknown> const& visual) const noexcept -{ - std::unique_lock lock{ m_mutex }; - return m_visual.get() == visual.get(); -} - -// Helpers -namespace -{ - template - winrt::com_ptr<::IUnknown> AddBorderAsChildHelper(const TContainerVisual& parent) - { - auto compositor = parent.Compositor(); - auto borderVisual = compositor.CreateSpriteVisual(); - borderVisual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - parent.Children().InsertAtTop(borderVisual); - - // Create a nine-grid brush with a black color - auto colorBrush = compositor.CreateColorBrush(winrt::Windows::UI::Colors::Yellow()); - auto ninegrid = compositor.CreateNineGridBrush(); - ninegrid.Source(colorBrush); - ninegrid.SetInsets(2.5f); - ninegrid.IsCenterHollow(true); - - borderVisual.Brush(ninegrid); - - return borderVisual.as<::IUnknown>(); - } -} - -void VisualTreeNode::IsBorderVisible(bool enable) -{ - std::unique_lock lock{ m_mutex }; - bool alreadyVisible = m_borderVisual != nullptr; - if (enable == alreadyVisible) - { - // No work to do. - return; - } - - if (auto parent = m_visual.try_as()) - { - if (enable) - { - m_borderVisual = AddBorderAsChildHelper(parent); - } - else - { - parent.Children().Remove(m_borderVisual.as()); - m_borderVisual = nullptr; - } - } - else if (auto parent2 = m_visual.try_as()) - { - if (enable) - { - m_borderVisual = AddBorderAsChildHelper(parent2); - } - else - { - parent2.Children().Remove(m_borderVisual.as()); - m_borderVisual = nullptr; - } - } -} - -void VisualTreeNode::Initialize(_In_ winrt::com_ptr<::IUnknown> const& visual) -{ - m_visual = visual; -} - -void VisualTreeNode::UpdateParent(_In_ std::shared_ptr const& value) -{ - // This is private, but needs to take the lock since it is only called on child VisualTreeNodes. - // See usage in AddChild, RemoveChild, and RemoveAllChildren. - std::unique_lock lock{ m_mutex }; - m_parent = value; -} - -winrt::Windows::Foundation::Numerics::float2 const& VisualTreeNode::SizeInternal() const noexcept -{ - return m_size; -} - -winrt::Windows::Foundation::Numerics::float4x4 const& VisualTreeNode::TransformInternal() const noexcept -{ - return m_transform; -} - -void VisualTreeNode::ComputeSizeAndTransformInternal() -{ - if (auto strongParent = m_parent.lock()) - { - // Compute the local size of this visual. - auto parentSize = strongParent->SizeInternal(); - auto visualSize = VisualSize(); - auto visualRelativeSizeAdjustment = VisualRelativeSizeAdjustment(); - m_size = { - visualSize.x + (visualRelativeSizeAdjustment.x * parentSize.x), - visualSize.y + (visualRelativeSizeAdjustment.y * parentSize.y) }; - - // Compute the local transform of this visual. - auto visualAnchorPoint = VisualAnchorPoint(); - winrt::Windows::Foundation::Numerics::float3 anchorPointOffset{ - visualAnchorPoint.x * m_size.x, - visualAnchorPoint.y * m_size.y, - 0.0f }; - auto visualOffset = VisualOffset(); - auto visualRelativeOffsetAdjustment = VisualRelativeOffsetAdjustment(); - winrt::Windows::Foundation::Numerics::float3 localOffset{ - visualOffset.x + (visualRelativeOffsetAdjustment.x * parentSize.x), - visualOffset.y + (visualRelativeOffsetAdjustment.y * parentSize.y), - visualOffset.z }; - auto translation = winrt::Windows::Foundation::Numerics::make_float4x4_translation(localOffset - anchorPointOffset); - - auto visualCenterPoint = VisualCenterPoint(); - auto visualScale = VisualScale(); - auto scale = winrt::Windows::Foundation::Numerics::make_float4x4_scale(visualScale, visualCenterPoint); - - auto visualRotationAxis = VisualRotationAxis(); - auto visualRotationAngle = VisualRotationAngle(); - auto rotationWithoutCenterPoint = winrt::Windows::Foundation::Numerics::make_float4x4_from_axis_angle(visualRotationAxis, visualRotationAngle); - auto rotation = - winrt::Windows::Foundation::Numerics::make_float4x4_translation(-visualCenterPoint) * - rotationWithoutCenterPoint * - winrt::Windows::Foundation::Numerics::make_float4x4_translation(visualCenterPoint); - - auto localTransform = rotation * scale * translation; - m_transform = localTransform * strongParent->TransformInternal(); - } - - // Recursively compute the size and transform of all children. - for (auto& child : m_children) - { - child->ComputeSizeAndTransformInternal(); - } -} - -winrt::Windows::Foundation::Numerics::float3 VisualTreeNode::VisualOffset() const noexcept -{ - winrt::Windows::Foundation::Numerics::float3 offset{ 0.0f, 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - offset = visual.Offset(); - } - else if (auto visual2 = m_visual.try_as()) - { - offset = visual2.Offset(); - } - - return offset; -} - -winrt::Windows::Foundation::Numerics::float2 VisualTreeNode::VisualSize() const noexcept -{ - winrt::Windows::Foundation::Numerics::float2 size{ 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - size = visual.Size(); - } - else if (auto visual2 = m_visual.try_as()) - { - size = visual2.Size(); - } - - return size; -} - -winrt::Windows::Foundation::Numerics::float3 VisualTreeNode::VisualScale() const noexcept -{ - winrt::Windows::Foundation::Numerics::float3 scale{ 1.0f, 1.0f, 1.0f }; - - if (auto visual = m_visual.try_as()) - { - scale = visual.Scale(); - } - else if (auto visual2 = m_visual.try_as()) - { - scale = visual2.Scale(); - } - - return scale; -} - -winrt::Windows::Foundation::Numerics::float3 VisualTreeNode::VisualRelativeOffsetAdjustment() const noexcept -{ - winrt::Windows::Foundation::Numerics::float3 relativeOffsetAdjustment{ 0.0f, 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - relativeOffsetAdjustment = visual.RelativeOffsetAdjustment(); - } - else if (auto visual2 = m_visual.try_as()) - { - relativeOffsetAdjustment = visual2.RelativeOffsetAdjustment(); - } - - return relativeOffsetAdjustment; -} - -winrt::Windows::Foundation::Numerics::float2 VisualTreeNode::VisualRelativeSizeAdjustment() const noexcept -{ - winrt::Windows::Foundation::Numerics::float2 relativeSizeAdjustment{ 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - relativeSizeAdjustment = visual.RelativeSizeAdjustment(); - } - else if (auto visual2 = m_visual.try_as()) - { - relativeSizeAdjustment = visual2.RelativeSizeAdjustment(); - } - - return relativeSizeAdjustment; -} - -winrt::Windows::Foundation::Numerics::float2 VisualTreeNode::VisualAnchorPoint() const noexcept -{ - winrt::Windows::Foundation::Numerics::float2 anchorPoint{ 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - anchorPoint = visual.AnchorPoint(); - } - else if (auto visual2 = m_visual.try_as()) - { - anchorPoint = visual2.AnchorPoint(); - } - - return anchorPoint; -} - -winrt::Windows::Foundation::Numerics::float3 VisualTreeNode::VisualCenterPoint() const noexcept -{ - winrt::Windows::Foundation::Numerics::float3 centerPoint{ 0.0f, 0.0f, 0.0f }; - - if (auto visual = m_visual.try_as()) - { - centerPoint = visual.CenterPoint(); - } - else if (auto visual2 = m_visual.try_as()) - { - centerPoint = visual2.CenterPoint(); - } - - return centerPoint; -} - -winrt::Windows::Foundation::Numerics::float3 VisualTreeNode::VisualRotationAxis() const noexcept -{ - winrt::Windows::Foundation::Numerics::float3 rotationAxis{ 0.0f, 0.0f, 1.0f }; - - if (auto visual = m_visual.try_as()) - { - rotationAxis = visual.RotationAxis(); - } - else if (auto visual2 = m_visual.try_as()) - { - rotationAxis = visual2.RotationAxis(); - } - - return rotationAxis; -} - -float VisualTreeNode::VisualRotationAngle() const noexcept -{ - float rotationAngle = 0.0f; - - if (auto visual = m_visual.try_as()) - { - rotationAngle = visual.RotationAngle(); - } - else if (auto visual2 = m_visual.try_as()) - { - rotationAngle = visual2.RotationAngle(); - } - - return rotationAngle; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.h b/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.h deleted file mode 100644 index 20bc3e8e2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/VisualTreeNode.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include -#include -#include - -#include "HitTestContext.h" - -class FocusList; - -struct VisualTreeNode : std::enable_shared_from_this -{ - [[nodiscard]] static std::shared_ptr Create( - _In_ winrt::com_ptr<::IUnknown> const& visual) noexcept; - - explicit VisualTreeNode() noexcept = default; - ~VisualTreeNode() noexcept = default; - - // Disable move and copy. - explicit VisualTreeNode(VisualTreeNode const&) = delete; - explicit VisualTreeNode(VisualTreeNode&&) = delete; - VisualTreeNode& operator=(VisualTreeNode const&) = delete; - VisualTreeNode& operator=(VisualTreeNode&&) = delete; - - [[nodiscard]] winrt::Windows::Foundation::Numerics::float2 Size() const noexcept; - void Size(_In_ winrt::Windows::Foundation::Numerics::float2 const& value) noexcept; - - [[nodiscard]] winrt::Windows::Foundation::Numerics::float4x4 Transform4x4() const noexcept; - [[nodiscard]] winrt::Windows::Foundation::Numerics::float3x2 Transform3x2() const noexcept; - - void AddChild(_In_ std::shared_ptr const& child); - void RemoveChild(_In_ std::shared_ptr const& child); - void RemoveAllChildren(); - - void ComputeSizeAndTransform(); - [[nodiscard]] winrt::Windows::Foundation::Rect BoundsInTreeRootCoordinates() const; - - [[nodiscard]] std::shared_ptr HitTestInTreeRootCoordinates( - _In_ winrt::Windows::Foundation::Point const& point); - - [[nodiscard]] bool Match(_In_ winrt::com_ptr<::IUnknown> const& visual) const noexcept; - [[nodiscard]] winrt::com_ptr<::IUnknown> Visual() const noexcept { std::unique_lock lock{ m_mutex }; return m_visual; } - - void HitTestCallback(_In_ ::HitTestCallback const& value) noexcept { m_hitTestCallback = value; } - [[nodiscard]] ::HitTestCallback const& HitTestCallback() const noexcept { return m_hitTestCallback; } - - void OwningFocusList(_In_ const std::weak_ptr& value) noexcept { m_owningFocusList = value; } - [[nodiscard]] std::shared_ptr OwningFocusList() const noexcept { return m_owningFocusList.lock(); } - - std::shared_ptr Parent() const noexcept { return m_parent.lock(); } - - void IsBorderVisible(bool visible); - -private: - void Initialize(_In_ winrt::com_ptr<::IUnknown> const& visual); - - // Called on child visuals, so does need to hold the lock. - void UpdateParent(_In_ std::shared_ptr const& value); - - [[nodiscard]] winrt::Windows::Foundation::Numerics::float2 const& SizeInternal() const noexcept; - [[nodiscard]] winrt::Windows::Foundation::Numerics::float4x4 const& TransformInternal() const noexcept; - - void ComputeSizeAndTransformInternal(); - - winrt::Windows::Foundation::Numerics::float3 VisualOffset() const noexcept; - winrt::Windows::Foundation::Numerics::float2 VisualSize() const noexcept; - winrt::Windows::Foundation::Numerics::float3 VisualScale() const noexcept; - winrt::Windows::Foundation::Numerics::float3 VisualRelativeOffsetAdjustment() const noexcept; - winrt::Windows::Foundation::Numerics::float2 VisualRelativeSizeAdjustment() const noexcept; - winrt::Windows::Foundation::Numerics::float2 VisualAnchorPoint() const noexcept; - winrt::Windows::Foundation::Numerics::float3 VisualCenterPoint() const noexcept; - winrt::Windows::Foundation::Numerics::float3 VisualRotationAxis() const noexcept; - float VisualRotationAngle() const noexcept; - - - mutable std::mutex m_mutex{}; - - winrt::com_ptr<::IUnknown> m_visual{ nullptr }; - winrt::com_ptr<::IUnknown> m_borderVisual{ nullptr }; - winrt::Windows::Foundation::Numerics::float2 m_size{ 0.0f, 0.0f }; - winrt::Windows::Foundation::Numerics::float4x4 m_transform{ winrt::Windows::Foundation::Numerics::float4x4::identity() }; - - std::weak_ptr m_parent{}; - std::vector> m_children{}; - - ::HitTestCallback m_hitTestCallback{}; - std::weak_ptr m_owningFocusList{}; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/VisualUtils.cpp b/Samples/Islands/UXFrameworksOnIslands/VisualUtils.cpp deleted file mode 100644 index a29a51f45..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/VisualUtils.cpp +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "VisualUtils.h" - -/*static*/ -void VisualUtils::FillWithColor( - const winrt::SpriteVisual& visual, - const winrt::Windows::UI::Color& color) -{ - visual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - auto colorBrush = visual.Compositor().CreateColorBrush(color); - visual.Brush(colorBrush); -} - -/*static*/ -void VisualUtils::LayoutAsInset( - const winrt::Visual& visual, - float insetLeft, - float insetTop, - float insetRight, - float insetBottom) -{ - auto relativeSize = visual.RelativeSizeAdjustment(); - if (relativeSize.x == 0.0f && relativeSize.y == 0.0f) - { - // If the relative size is not set, set it to 1.0f, 1.0f - visual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - } - - visual.Size({ -(insetLeft + insetRight), -(insetTop + insetBottom) }); - visual.Offset({ insetLeft, insetTop, 0.0f }); -} - -/*static*/ -void VisualUtils::FillWithColor( - const winrt::WUC::SpriteVisual& visual, - const winrt::Windows::UI::Color& color) -{ - visual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - auto colorBrush = visual.Compositor().CreateColorBrush(color); - visual.Brush(colorBrush); -} - -/*static*/ -void VisualUtils::LayoutAsInset( - const winrt::WUC::Visual& visual, - float insetLeft, - float insetTop, - float insetRight, - float insetBottom) -{ - auto relativeSize = visual.RelativeSizeAdjustment(); - if (relativeSize.x == 0.0f && relativeSize.y == 0.0f) - { - // If the relative size is not set, set it to 1.0f, 1.0f - visual.RelativeSizeAdjustment({ 1.0f, 1.0f }); - } - - visual.Size({ -(insetLeft + insetRight), -(insetTop + insetBottom) }); - visual.Offset({ insetLeft, insetTop, 0.0f }); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/VisualUtils.h b/Samples/Islands/UXFrameworksOnIslands/VisualUtils.h deleted file mode 100644 index c393b0847..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/VisualUtils.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -class VisualUtils -{ -public: - // Fills a sprite visual with a solid color brush. - static void FillWithColor( - const winrt::SpriteVisual& visual, - const winrt::Windows::UI::Color& color); - - // Lays out a visual to fill its container with a specified margin around it. - template - static void LayoutAsInset( - const T& visual, - float inset) - { - LayoutAsInset(visual, inset, inset, inset, inset); - } - - // Lays out a visual to fill its container with a specified margin around it. - static void LayoutAsInset( - const winrt::Visual& visual, - float insetLeft, - float insetTop, - float insetRight, - float insetBottom); - - // Fills a sprite visual with a solid color brush. - static void FillWithColor( - const winrt::WUC::SpriteVisual& visual, - const winrt::Windows::UI::Color& color); - - // Lays out a visual to fill its container with a specified margin around it. - static void LayoutAsInset( - const winrt::WUC::Visual& visual, - float insetLeft, - float insetTop, - float insetRight, - float insetBottom); -}; - diff --git a/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.cpp deleted file mode 100644 index 89fe894a5..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.cpp +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "WebViewFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" -#include "TextRenderer.h" -#include "FocusManager.h" - -WebViewFrame::WebViewFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings) : - SystemFrame(queue, systemCompositor, settings) -{ - InitializeVisualTree(systemCompositor); -} - -bool WebViewFrame::SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM /*lParam*/) -{ - if (message == WM_SYSKEYDOWN || message == WM_KEYDOWN) - { - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Menu) - { - m_acceleratorActive = !m_acceleratorActive; - m_acceleratorVisual->GetVisual().IsVisible(m_acceleratorActive); - HandleContentLayout(); - } - else { - m_acceleratorActive = false; - m_acceleratorVisual->GetVisual().IsVisible(false); - if (static_cast(wParam) == winrt::Windows::System::VirtualKey::Number5) - { - // Take focus - GetFocusList()->GetManager()->SetFocusToVisual(GetRootVisualTreeNode(), GetRootVisualTreeNode()->OwningFocusList()); - } - HandleContentLayout(); - } - } - return false; -} - -void WebViewFrame::InitializeVisualTree( - const winrt::WUC::Compositor& compositor) -{ - // Fill entire bounds with light brown color - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - m_colorVisualPeer = m_automationTree->CreatePeer(colorVisualNode, k_frameName, UIA_ImageControlTypeId); - GetRootVisualTreeNode()->AddChild(colorVisualNode); - m_automationTree->Root()->AddChildToEnd(m_colorVisualPeer->Fragment()); - m_automationTree->AddPeer(m_colorVisualPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::LightBrown()); - - // Create the text format objects used for content. - auto headingTextFormat = CreateTextFormat(L"Segoe UI", k_headingFontSize, DWRITE_FONT_WEIGHT_BOLD); - auto bodyTextFormat = CreateTextFormat(L"Segoe UI"); - bodyTextFormat->SetWordWrapping(DWRITE_WORD_WRAPPING_WRAP); - auto codeTextFormat = CreateTextFormat(L"Consolas"); - - // Add the content. - m_content.reserve(6); - AddContent(L"WebView", nullptr); - m_acceleratorVisual = AddContent(L"(Hotkey: 5)", nullptr); - m_acceleratorVisual->GetVisual().IsVisible(false); - AddContent(L"UXFrameworksOnIslands Sample", headingTextFormat.get()); - AddContent( - L"This sample application demonstrates how multiple UX frameworks could be a used in the " - L"same application by hosting each framework in its own content island. This application " - L"does not actually use any UX frameworks; it merely demonstrates nested content islands.", - bodyTextFormat.get()); - AddContent(L"Frame Hierarchy", headingTextFormat.get()); - AddContent( - L"Below is the hierarchy of frames (i.e., islands) in this application.", - bodyTextFormat.get()); - AddContent( - L"Root (System)\n" - L" \x2502\n" - L" \x251C\x2500\x2500 NetUI (System)\n" - L" \x2502 \x2502\n" - L" \x2502 \x2514\x2500\x2500 ReactNative (Lifted)\n" - L" \x2502 \x2502\n" - L" \x2502 \x2514\x2500\x2500 WinUI (Lifted)\n" - L" \x2502\n" - L" \x2514\x2500\x2500 WebView (System)\n", - codeTextFormat.get()); -} - -std::shared_ptr WebViewFrame::AddContent(_In_z_ WCHAR const* text, IDWriteTextFormat* textFormat) -{ - auto textLayout = CreateTextLayout(text, textFormat); - auto block = std::make_shared(GetOutput(), text, textLayout); - m_content.push_back(block); - InsertTextVisual(*m_content.back(), m_automationTree, m_colorVisualPeer); - return block; -} - -void WebViewFrame::HandleContentLayout() -{ - float islandWidth = GetIsland().ActualSize().x; - float columnWidth = std::max(islandWidth - (k_leftMargin + k_rightMargin), k_minColumNWidth); - - float y = k_topMargin; - - for (auto& block : m_content) - { - if (block->IsVisible()) - { - block->SetFormatWidth(columnWidth); - - auto& visual = block->GetVisual(); - visual.Offset({k_leftMargin, y, 0.0f}); - y += visual.Size().y + k_paraGap; - } - } - - SystemFrame::HandleContentLayout(); -} diff --git a/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.h b/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.h deleted file mode 100644 index 90395413f..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/WebViewFrame.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "SystemFrame.h" -#include "TextVisual.h" - -class WebViewFrame final : public SystemFrame -{ -public: - WebViewFrame( - const winrt::DispatcherQueue& queue, - const winrt::WUC::Compositor& systemCompositor, - const std::shared_ptr& settings); - - bool SystemPreTranslateMessage( - UINT message, - WPARAM wParam, - LPARAM lParam) override; - -private: - void InitializeVisualTree( - const winrt::WUC::Compositor& compositor); - - void HandleContentLayout() override; - - static constexpr wchar_t k_frameName[] = L"WebView"; - - std::shared_ptr AddContent(_In_z_ WCHAR const* text, IDWriteTextFormat* textFormat); - - static constexpr float k_leftMargin = 10; - static constexpr float k_topMargin = 10; - static constexpr float k_rightMargin = 50; - static constexpr float k_paraGap = 10; - static constexpr float k_minColumNWidth = 200; - - std::shared_ptr m_colorVisualPeer; - std::vector> m_content; - - std::shared_ptr m_acceleratorVisual; - bool m_acceleratorActive = false; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.cpp b/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.cpp deleted file mode 100644 index a18cf726e..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.cpp +++ /dev/null @@ -1,172 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" -#include "WinUIFrame.h" -#include "ColorUtils.h" -#include "VisualUtils.h" - -WinUIFrame::WinUIFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings) : - LiftedFrame(compositor, settings), - m_labelVisual(GetOutput(), k_frameName), - m_acceleratorVisual(GetOutput(), L"4"), - m_focusManager(m_focusList) -{ - m_labelVisual.SetBackgroundColor(ColorUtils::LightYellow()); - InitializeVisualTree(compositor); - - InitializeInputEvents(); -} - -void WinUIFrame::ConnectPopupFrame(IFrame* frame) -{ - m_popupFrame = frame; - m_popupSiteBridge = LiftedFrame::ConnectPopupFrame(frame); - - HandleContentLayout(); -} - -void WinUIFrame::InitializeInputEvents() -{ - auto island = GetIsland(); - m_preTranslateKeyboardSource = winrt::InputPreTranslateKeyboardSource::GetForIsland(island); - m_pointerSource = winrt::InputPointerSource::GetForIsland(island); - m_keyboardSource = winrt::InputKeyboardSource::GetForIsland(island); - m_focusController = winrt::InputFocusController::GetForIsland(island); - - m_preTranslateHandler = winrt::make_self(this); - m_preTranslateKeyboardSource.as()->SetPreTranslateHandler(m_preTranslateHandler.get()); - - m_pointerSource.PointerPressed( - [this](auto&& /*sender*/, auto&& args) - { - auto point = args.CurrentPoint(); - OnClick(point); - }); - - m_keyboardSource.KeyDown( - [this](auto&& /*sender*/, auto&& args) - { - OnKeyPress(args.VirtualKey()); - }); - - // FocusManager will listen to focus events. - m_focusManager.InitializeWithFocusController(m_focusController); -} - -void WinUIFrame::OnPreTranslateTreeMessage( - const MSG* msg, - UINT /*keyboardModifiers*/, - _Inout_ bool* handled) -{ - *handled = false; - - if (msg->message == WM_SYSKEYDOWN || msg->message == WM_KEYDOWN) - { - if (static_cast(msg->wParam) == winrt::Windows::System::VirtualKey::Menu) - { - m_acceleratorActive = !m_acceleratorActive; - m_acceleratorVisual.GetVisual().IsVisible(m_acceleratorActive); - } - else { - m_acceleratorActive = false; - m_acceleratorVisual.GetVisual().IsVisible(false); - if (static_cast(msg->wParam) == winrt::Windows::System::VirtualKey::Number4) - { - // Take focus - m_focusManager.SetFocusToVisual(GetRootVisualTreeNode(), GetRootVisualTreeNode()->OwningFocusList()); - } - } - } -} - -void WinUIFrame::InitializeVisualTree(const winrt::Compositor& compositor) -{ - // Fill entire bounds with light brown color - // Eventually do something more interesting (i.e. DrawingIsland or real XamlIsland) - auto colorVisual = compositor.CreateSpriteVisual(); - auto colorVisualNode = VisualTreeNode::Create(colorVisual.as<::IUnknown>()); - auto colorVisualPeer = m_automationTree->CreatePeer(colorVisualNode, k_frameName, UIA_ImageControlTypeId); - GetRootVisualTreeNode()->AddChild(colorVisualNode); - m_automationTree->Root()->AddChildToEnd(colorVisualPeer->Fragment()); - m_automationTree->AddPeer(colorVisualPeer); - VisualUtils::FillWithColor(colorVisual, ColorUtils::LightYellow()); - - // Insert the label into the tree. - InsertTextVisual(m_labelVisual, m_automationTree, colorVisualPeer); - - // Insert the accelerator label and make it invisible - m_acceleratorVisual.GetVisual().Offset(winrt::Windows::Foundation::Numerics::float3(m_labelVisual.Size().Width+3, 0, 0)); - m_acceleratorVisual.GetVisual().IsVisible(false); - InsertTextVisual(m_acceleratorVisual, m_automationTree, colorVisualPeer); -} - -void WinUIFrame::OnClick( - const winrt::PointerPoint& point) -{ - // Unconditionally take focus - m_focusController.TrySetFocus(); - - HitTestContext context{ m_focusManager, GetRootVisualTreeNode() }; - context.RunHitTest(point.Position(), point.Properties().IsRightButtonPressed()); -} - -void WinUIFrame::OnKeyPress( - winrt::Windows::System::VirtualKey key) -{ - if (key == winrt::Windows::System::VirtualKey::Escape) - { - m_popupSiteBridge.Hide(); - } - else if (key == winrt::Windows::System::VirtualKey::Enter) - { - m_popupSiteBridge.Show(); - } - else if (key == winrt::Windows::System::VirtualKey::R) - { - m_popupSiteBridge.LayoutDirectionOverride(winrt::ContentLayoutDirection::RightToLeft); - } - else if (key == winrt::Windows::System::VirtualKey::L) - { - m_popupSiteBridge.LayoutDirectionOverride(winrt::ContentLayoutDirection::LeftToRight); - } - else if (key == winrt::Windows::System::VirtualKey::Tab) - { - // Key-state is a bitwise flag, check the "Down" flag specficially. - auto shiftState = m_keyboardSource.GetKeyState(winrt::Windows::System::VirtualKey::Shift); - bool isShiftDown = (shiftState & winrt::VirtualKeyStates::Down) != winrt::VirtualKeyStates::None; - if (isShiftDown) - { - m_focusManager.NavigateBackward(); - } - else - { - m_focusManager.NavigateForward(); - } - } -} - -void WinUIFrame::HandleContentLayout() -{ - LiftedFrame::HandleContentLayout(); - - if (m_popupSiteBridge != nullptr) - { - if (GetSetting(Setting_ShowPopupVisual)) - { - auto islandSize = GetIsland().ActualSize(); - auto bounds = GetConverter().ConvertLocalToScreen({ - islandSize.x - k_layoutGap, - islandSize.y - k_layoutGap, - k_popupSize, - k_popupSize}); - - m_popupSiteBridge.MoveAndResize(bounds); - - m_popupSiteBridge.Show(); - } - else - { - m_popupSiteBridge.Hide(); - } - } -} diff --git a/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.h b/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.h deleted file mode 100644 index 380dabeb0..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/WinUIFrame.h +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -#include "LiftedFrame.h" -#include "TextVisual.h" -#include "PreTranslateHandler.h" -#include "FocusManager.h" - -class WinUIFrame final : public LiftedFrame -{ -public: - WinUIFrame(const winrt::Compositor& compositor, const std::shared_ptr& settings); - - void ConnectPopupFrame( - IFrame* frame); - - void OnPreTranslateTreeMessage( - const MSG* msg, - UINT keyboardModifiers, - _Inout_ bool* handled) override; - -private: - void InitializeVisualTree(const winrt::Compositor& compositor); - - void InitializeInputEvents(); - - void OnClick( - const winrt::PointerPoint& point); - - void ActivateForPointer( - const winrt::PointerPoint& point); - - void OnKeyPress( - winrt::Windows::System::VirtualKey key); - - void OnActivationChanged( - bool isActive); - - void HandleContentLayout() override; - -private: - static constexpr wchar_t k_frameName[] = L"WinUI"; - static constexpr float k_popupSize = 200.0f; - static constexpr float k_layoutGap = 50.0f; - - LiftedTextVisual m_labelVisual; - LiftedTextVisual m_acceleratorVisual; - bool m_acceleratorActive = false; - float m_labelDpiScale = 0.0f; - - IFrame* m_popupFrame = nullptr; - winrt::DesktopPopupSiteBridge m_popupSiteBridge = nullptr; - - winrt::InputPointerSource m_pointerSource = nullptr; - winrt::InputKeyboardSource m_keyboardSource = nullptr; - winrt::InputPreTranslateKeyboardSource m_preTranslateKeyboardSource = nullptr; - winrt::InputFocusController m_focusController = nullptr; - winrt::com_ptr m_preTranslateHandler{nullptr}; - FocusManager m_focusManager; -}; diff --git a/Samples/Islands/UXFrameworksOnIslands/app.manifest b/Samples/Islands/UXFrameworksOnIslands/app.manifest deleted file mode 100644 index 5cadec1f2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/app.manifest +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - PerMonitorV2 - - - \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/main.cpp b/Samples/Islands/UXFrameworksOnIslands/main.cpp deleted file mode 100644 index f7669dfd1..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/main.cpp +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#include "precomp.h" - -#ifdef BUILD_WINDOWS -#include "ActivationContext.h" -#endif -#include "NetUIFrame.h" -#include "Output.h" -#include "PopupFrame.h" -#include "ReactNativeFrame.h" -#include "RootFrame.h" -#include "TopLevelWindow.h" -#include "WebViewFrame.h" -#include "WinUIFrame.h" - -// The DispatcherQueue.RunEventLoop() calls the ContentPreTranslateMessage API, which would allow -// Lifted Islands to receive PreTranslateMessage callbacks through InputPreTranslateKeyboardSource, -// but it would not call this app's custom System PreTranslateMessage. Thus, this app uses a -// custom event loop instead of DispatcherQueue.RunEventLoop(). -void RunEventLoop(RootFrame& rootFrame) { - MSG msg; - while (GetMessage(&msg, NULL, 0, 0)) - { - if (ContentPreTranslateMessage(&msg)) - { - continue; - } - - if (rootFrame.SystemPreTranslateMessage(msg.message, msg.wParam, msg.lParam)) - { - continue; - } - - // Disable default behavior where Alt focuses title bar - if (msg.message == WM_SYSKEYDOWN && msg.wParam == VK_MENU) - { - continue; - } - - TranslateMessage(&msg); - DispatchMessage(&msg); - } -} - -void InitializeFramesAndRun( - const winrt::Compositor& compositor, - const winrt::WUC::Compositor& systemCompositor, - const winrt::DispatcherQueueController& dispatcherQueueController) -{ - // The structure that we are setting up below is: - // - // RootFrame - // / | - // NetUIFrame WebViewFrame - // / - // ReactNativeFrame - // / - // WinUIFrame - - // Create the top level window (which wraps an app window) - auto queue = compositor.DispatcherQueue(); - - auto settings = std::make_shared(); - - TopLevelWindow topLevelWindow{ queue }; - - RootFrame rootFrame{ queue, systemCompositor, settings }; - - NetUIFrame netUIFrame{ queue, systemCompositor, settings }; - - WebViewFrame webViewFrame{ queue, systemCompositor, settings }; - - ReactNativeFrame reactNativeFrame{ compositor, settings }; - - WinUIFrame winUIFrame{ compositor, settings }; - - // Connect everything together. Set FrameHosts for System frames to ensure automation is - // being handled by the IFrameHost API as the Content automation APIs are disabled. - // Lifted islands are hooked up into the larger system-wide automation tree via the Content - // automation APIs in FragmentBased mode. See the AutomationOption setup in - // SystemFrame::ConnectChildFrame and LiftedFrame::ConnectChildFrame. - topLevelWindow.ConnectFrameToWindow(&rootFrame); - rootFrame.SetFrameHost(&topLevelWindow); - rootFrame.SetFocusHost(&topLevelWindow); - - rootFrame.ConnectLeftFrame(&netUIFrame); - netUIFrame.SetFrameHost(&rootFrame); - - rootFrame.ConnectRightFrame(&webViewFrame); - webViewFrame.SetFrameHost(&rootFrame); - - netUIFrame.ConnectFrame(&reactNativeFrame); - - reactNativeFrame.ConnectLeftFrame(&winUIFrame); - - // Connect the popup frames - - PopupFrame popupRoot{ compositor, settings }; - - PopupFrame popupChild{ compositor, settings }; - - winUIFrame.ConnectPopupFrame(&popupRoot); - - popupRoot.ConnectPopupFrame(&popupChild); - - // Run the message loop - RunEventLoop(rootFrame); - - dispatcherQueueController.ShutdownQueue(); -} - -int APIENTRY wWinMain( - _In_ HINSTANCE hInstance, - _In_opt_ HINSTANCE hPrevInstance, - _In_ LPWSTR lpCmdLine, - _In_ int nShowCmd) -{ - UNREFERENCED_PARAMETER(hInstance); - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - UNREFERENCED_PARAMETER(nShowCmd); - - // Initialize WinRT - winrt::init_apartment(winrt::apartment_type::single_threaded); - -#ifdef BUILD_WINDOWS - // Set up the activation context for WinRT APIs - ActivationContext activationContext{}; -#endif - - // Set up the dispatcher queues - auto dispatcherQueueController{ winrt::DispatcherQueueController::CreateOnCurrentThread() }; - - // NOTE: This system DispatcherQueue is explicitly creating a dedicated thread, which is a - // different thread than the lifted DispatcherQueue's. It's testing a cross-thread scenario. - auto systemDispatcherQueueController{ winrt::WS::DispatcherQueueController::CreateOnDedicatedThread() }; - - // Use the current thread for the Lifted compositor - winrt::Compositor compositor{}; - - // Use a dedicated thread for the System compositor - winrt::WUC::Compositor systemCompositor{ nullptr }; - wil::unique_event systemCompositorCreated{ wil::EventOptions::ManualReset }; - winrt::check_bool(systemDispatcherQueueController.DispatcherQueue().TryEnqueue([&]() - { - systemCompositor = winrt::WUC::Compositor{}; - systemCompositorCreated.SetEvent(); - })); - systemCompositorCreated.wait(); - - InitializeFramesAndRun(compositor, systemCompositor, dispatcherQueueController); - - systemDispatcherQueueController.ShutdownQueueAsync(); - - return 0; -} diff --git a/Samples/Islands/UXFrameworksOnIslands/packages.config b/Samples/Islands/UXFrameworksOnIslands/packages.config deleted file mode 100644 index 489464bd5..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Samples/Islands/UXFrameworksOnIslands/precomp.cpp b/Samples/Islands/UXFrameworksOnIslands/precomp.cpp deleted file mode 100644 index 3eb8459f2..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/precomp.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "precomp.h" diff --git a/Samples/Islands/UXFrameworksOnIslands/precomp.h b/Samples/Islands/UXFrameworksOnIslands/precomp.h deleted file mode 100644 index 9fc4ea77a..000000000 --- a/Samples/Islands/UXFrameworksOnIslands/precomp.h +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. - -#pragma once - -// C++ Standard headers -#include -#include -#include -#include -#include -#include - -// Windows headers -#define NOMINMAX -#include -#include -#include // For GET_X_LPARAM and GET_Y_LPARAM -#include -#include -#include -#include - -// WIL headers -#include // Needs to be included before any C++/WinRT headers -#include - -// System winrt headers -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Lifted winrt headers -#include -#include -#include -#include -#include -#include -#include -#include - -// Interop headers -#include -#include -#include -#include - -// Namespace aliases -#ifdef BUILD_WINDOWS -namespace ABI::Windows::UI::Composition -{ - using ICompositionDrawingSurfaceInterop = ::Windows::UI::Composition::ICompositionDrawingSurfaceInterop; - using ICompositionGraphicsDevice = ::Windows::UI::Composition::ICompositionGraphicsDevice; - using ICompositionGraphicsDeviceInterop = ::Windows::UI::Composition::ICompositionGraphicsDeviceInterop; - using ICompositorInterop = ::Windows::UI::Composition::ICompositorInterop; -} -#endif - -namespace winrt -{ - using namespace winrt::Windows::Foundation; - using namespace winrt::Windows::Foundation::Collections; - using namespace winrt::Windows::Foundation::Numerics; - - using namespace winrt::Microsoft::UI::Composition; - using namespace winrt::Microsoft::UI::Composition::Interactions; - using namespace winrt::Microsoft::UI::Content; - using namespace winrt::Microsoft::UI::Dispatching; - using namespace winrt::Microsoft::UI::Input; - using namespace winrt::Microsoft::UI::Windowing; - - namespace WS = winrt::Windows::System; - namespace WUC = winrt::Windows::UI::Composition; - namespace WUCI = winrt::Windows::UI::Composition::Interactions; - - using winrt::Microsoft::UI::GetWindowFromWindowId; - using winrt::Microsoft::UI::GetWindowIdFromWindow; - using winrt::Microsoft::UI::WindowId; -} diff --git a/SamplesCI-BackgroundTask.yml b/SamplesCI-BackgroundTask.yml deleted file mode 100644 index f4e1e042c..000000000 --- a/SamplesCI-BackgroundTask.yml +++ /dev/null @@ -1,7 +0,0 @@ -# Please see https://www.osgwiki.com/wiki/Windows_App_SDK_-_How_to_build_and_use_the_pipelines -# for information on how to use the pipelines -name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr) -stages: -- template: WindowsAppSDK-SamplesCI.yml - parameters: - FeatureDirectory: "BackgroundTask" \ No newline at end of file From 1890591caa04805c0bb9e7b488dd50677077e53f Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Wed, 26 Aug 2026 11:25:49 -0400 Subject: [PATCH 4/7] Disable stale sample ReadyToRun publishing Remove per-profile ReadyToRun opt-ins that are incompatible with the .NET 8 sample restore and cause NETSDK1094 in aggregator compatibility builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26f0def2-a93d-4d41-a610-c6c6fa760d7e --- .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml | 1 - .../wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml | 1 - .../DepthDemoApp/Properties/PublishProfiles/win-arm64.pubxml | 1 - .../DepthDemoApp/Properties/PublishProfiles/win-x64.pubxml | 1 - .../DepthDemoApp/Properties/PublishProfiles/win-x86.pubxml | 1 - .../EffectEditorApp/Properties/PublishProfiles/win-arm64.pubxml | 1 - .../EffectEditorApp/Properties/PublishProfiles/win-x64.pubxml | 1 - .../EffectEditorApp/Properties/PublishProfiles/win-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../Properties/PublishProfiles/win10-x64.pubxml | 1 - .../Properties/PublishProfiles/win10-x86.pubxml | 1 - .../SampleGalleryApp/Properties/PublishProfiles/win-arm64.pubxml | 1 - .../SampleGalleryApp/Properties/PublishProfiles/win-x64.pubxml | 1 - .../SampleGalleryApp/Properties/PublishProfiles/win-x86.pubxml | 1 - .../cs/cs-winui/Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../cs/cs-winui/Properties/PublishProfiles/win10-x64.pubxml | 1 - .../cs/cs-winui/Properties/PublishProfiles/win10-x86.pubxml | 1 - .../Properties/PublishProfiles/win10-arm64.pubxml | 1 - .../wpf_packaged_app/Properties/PublishProfiles/win10-x64.pubxml | 1 - .../wpf_packaged_app/Properties/PublishProfiles/win10-x86.pubxml | 1 - 36 files changed, 36 deletions(-) diff --git a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml index 08b5300d8..756813eeb 100644 --- a/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/Activation/cs2/cs-winui-packaged/CsWinUiDesktopActivation/CsWinUiDesktopActivation/Properties/PublishProfiles/win10-arm64.pubxml @@ -10,7 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - True ..\packages @@ -61,16 +73,20 @@ false - v143 + v145 + v143 - v143 + v145 + v143 - v143 + v145 + v143 - v143 + v145 + v143 @@ -143,11 +159,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -159,5 +194,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-console-unpackaged/CppWinRtConsoleActivation/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj index 4ac8bf27b..43d9df2e9 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/CppWinMainActivation.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -45,39 +57,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -232,11 +250,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -248,5 +285,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-packaged/CppWinMainActivation/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj index 5f490ddf1..5a51ccea1 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/CppWinMainActivation.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -45,39 +57,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -233,11 +251,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -249,5 +286,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-win32-unpackaged/CppWinMainActivation/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj index c7f41a495..fa3fa270b 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj +++ b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/CppWinUiDesktopActivation.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\..\packages @@ -7,7 +19,7 @@ - + true true @@ -142,11 +154,30 @@ + + + ..\..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -158,5 +189,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config +++ b/Samples/AppLifecycle/Activation/cpp/cpp-winui-packaged/CppWinUiDesktopActivation/CppWinUiDesktopActivation/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj index fe79c1c6a..cf327fbb2 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/CppWinRtConsoleEnv.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -50,7 +62,8 @@ Application - v143 + v145 + v143 v142 v141 v140 @@ -129,11 +142,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -145,5 +177,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-console-unpackaged/CppWinRtConsoleEnv/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj index aa05d851f..8f55d2538 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/CppWinMainEnv.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -46,39 +58,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -233,11 +251,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -249,5 +286,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config +++ b/Samples/AppLifecycle/EnvironmentVariables/cpp-win32-unpackaged/CppWinMainEnv/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj index 35daf7484..34df6c48f 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/CppWinRtConsoleInstancing.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -48,7 +60,8 @@ Application - v143 + v145 + v143 v141 v140 Unicode @@ -133,11 +146,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -149,5 +181,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-console-unpackaged/CppWinRtConsoleInstancing/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj index 0c65b0c20..e5f3d2979 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -45,39 +57,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -230,11 +248,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -246,5 +283,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-packaged/CppWinMainInstancing/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj index 582b92973..67a14d3d0 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/CppWinMainInstancing.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -45,39 +57,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -231,11 +249,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -247,5 +284,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-win32-unpackaged/CppWinMainInstancing/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj index 2976accb0..2cb703813 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\..\packages @@ -7,7 +19,7 @@ - + true true @@ -142,12 +154,31 @@ + + + ..\..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -160,5 +191,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config +++ b/Samples/AppLifecycle/Instancing/cpp/cpp-winui-packaged/CppWinUiDesktopInstancing/CppWinUiDesktopInstancing/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj index 4f51fc553..bdc2558d5 100644 --- a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj +++ b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -209,12 +221,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -227,5 +258,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config +++ b/Samples/AppLifecycle/Restart/cpp-console-unpackaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj index fa522b252..944426d0f 100644 --- a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj +++ b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/cpp-winui-packaged.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + packages @@ -59,7 +71,8 @@ Application - v143 + v145 + v143 Unicode true @@ -211,12 +224,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -229,5 +261,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config +++ b/Samples/AppLifecycle/RestartRegistration/cpp-winui-packaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj index 471d73fd2..25a6dee39 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/CppWinRtConsoleState.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -48,7 +60,8 @@ Application - v143 + v145 + v143 v142 v141 v140 @@ -127,11 +140,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -143,5 +175,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-console-unpackaged/CppWinRtConsoleState/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj index cf0873484..7665cdbba 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/CppWinMainState.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -44,39 +56,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -243,11 +261,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -259,5 +296,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-packaged/CppWinMainState/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj index cf0873484..7665cdbba 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/CppWinMainState.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -44,39 +56,45 @@ Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application true - v143 + v145 + v143 Unicode Application true - v143 + v145 + v143 Unicode Application false - v143 + v145 + v143 true Unicode Application false - v143 + v145 + v143 true Unicode @@ -243,11 +261,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -259,5 +296,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-win32-unpackaged/CppWinMainState/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj index 6ca1fd975..6d8640e86 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/CppWinUiDesktopState.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\..\packages @@ -7,7 +19,7 @@ - + true true @@ -142,11 +154,30 @@ + + + ..\..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -158,5 +189,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config +++ b/Samples/AppLifecycle/StateNotifications/cpp/cpp-winui-packaged/CppWinUiDesktopState/CppWinUiDesktopState/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj index 825ebec46..e77e33cc4 100644 --- a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj +++ b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/DynamicRefreshRateTool.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + packages @@ -59,7 +71,8 @@ Application - v143 + v145 + v143 v142 Unicode true @@ -214,6 +227,12 @@ Explorer "Package and Publish" context menu entry to be enabled for this project even if the Windows App SDK Nuget package has not yet been restored. --> + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + true @@ -224,6 +243,19 @@ + + + + + + + + + + + + + @@ -237,5 +269,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config index 544b025a9..2bb1a4385 100644 --- a/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config +++ b/Samples/Composition/DynamicRefreshRateTool/cpp-winui/packages.config @@ -1,8 +1,21 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppApp/CppApp.vcxproj b/Samples/CustomControls/CppApp/CppApp.vcxproj index cd95795c1..0f1355977 100644 --- a/Samples/CustomControls/CppApp/CppApp.vcxproj +++ b/Samples/CustomControls/CppApp/CppApp.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\packages @@ -210,11 +222,30 @@ Designer + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -226,5 +257,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppApp/packages.config b/Samples/CustomControls/CppApp/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/CustomControls/CppApp/packages.config +++ b/Samples/CustomControls/CppApp/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj b/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj index eff12317a..04a455ace 100644 --- a/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj +++ b/Samples/CustomControls/CppAppUnpackaged/CppAppUnpackaged.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + ..\packages @@ -60,7 +72,8 @@ Application - v143 + v145 + v143 Unicode true @@ -206,11 +219,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -222,5 +254,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/CustomControls/CppAppUnpackaged/packages.config b/Samples/CustomControls/CppAppUnpackaged/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/CustomControls/CppAppUnpackaged/packages.config +++ b/Samples/CustomControls/CppAppUnpackaged/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj index 9fb46d9eb..51bc7cb30 100644 --- a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj +++ b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + packages @@ -200,11 +212,30 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -216,5 +247,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/DeploymentManager/cpp-winui/packages.config b/Samples/DeploymentManager/cpp-winui/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/DeploymentManager/cpp-winui/packages.config +++ b/Samples/DeploymentManager/cpp-winui/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Insights/cpp-win32/InsightsSample.vcxproj b/Samples/Insights/cpp-win32/InsightsSample.vcxproj index d8c368963..0685cb009 100644 --- a/Samples/Insights/cpp-win32/InsightsSample.vcxproj +++ b/Samples/Insights/cpp-win32/InsightsSample.vcxproj @@ -1,11 +1,23 @@ + + + + + + + + + + + + packages - + Debug @@ -220,9 +232,28 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -231,5 +262,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Insights/cpp-win32/packages.config b/Samples/Insights/cpp-win32/packages.config index 241805d0c..eb1c784ff 100644 --- a/Samples/Insights/cpp-win32/packages.config +++ b/Samples/Insights/cpp-win32/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj b/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj index a60022a22..86109ffe8 100644 --- a/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj +++ b/Samples/Mica/cpp-WebView2/Mica-WebView2/MicaWebView2.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -7,7 +19,7 @@ - + Debug @@ -57,6 +69,12 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + 16.0 Win32Proj @@ -65,7 +83,7 @@ 10.0 Mica-WebView2 None - true + true @@ -256,8 +274,20 @@ - + + + + + + + + + + + + + @@ -268,11 +298,34 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Samples/Mica/cpp-WebView2/Mica-WebView2/packages.config b/Samples/Mica/cpp-WebView2/Mica-WebView2/packages.config index 9830055c4..748f00f7c 100644 --- a/Samples/Mica/cpp-WebView2/Mica-WebView2/packages.config +++ b/Samples/Mica/cpp-WebView2/Mica-WebView2/packages.config @@ -1,8 +1,20 @@  - + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Mica/cpp-win32/WinAppSDKMicaSample/WinAppSDKMicaSample.vcxproj b/Samples/Mica/cpp-win32/WinAppSDKMicaSample/WinAppSDKMicaSample.vcxproj index 917427096..a3c93be1d 100644 --- a/Samples/Mica/cpp-win32/WinAppSDKMicaSample/WinAppSDKMicaSample.vcxproj +++ b/Samples/Mica/cpp-win32/WinAppSDKMicaSample/WinAppSDKMicaSample.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + ..\packages @@ -7,7 +19,7 @@ - + Debug @@ -55,14 +67,20 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + None - 16.0 + 16.0 Win32Proj {3cb3adb7-b8c8-42a1-8f4a-236f77fb40a8} WinAppSDKMicaSample - 10.0 - true + 10.0 + true @@ -251,6 +269,19 @@ + + + + + + + + + + + + + @@ -262,8 +293,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file diff --git a/Samples/Mica/cpp-win32/WinAppSDKMicaSample/packages.config b/Samples/Mica/cpp-win32/WinAppSDKMicaSample/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/Mica/cpp-win32/WinAppSDKMicaSample/packages.config +++ b/Samples/Mica/cpp-win32/WinAppSDKMicaSample/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications.vcxproj b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications.vcxproj index b77149b52..a506bd763 100644 --- a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications.vcxproj +++ b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + ..\packages @@ -60,7 +72,8 @@ Application - v143 + v145 + v143 Unicode true @@ -222,12 +235,31 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -240,5 +272,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config +++ b/Samples/Notifications/App/CppUnpackagedAppNotifications/CppUnpackagedAppNotifications/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj b/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj index 5001164d8..caa693fa6 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj +++ b/Samples/Notifications/Push/cpp-console-packaged/cpp-console.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -208,12 +220,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -226,5 +257,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-packaged/packages.config b/Samples/Notifications/Push/cpp-console-packaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/Notifications/Push/cpp-console-packaged/packages.config +++ b/Samples/Notifications/Push/cpp-console-packaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj b/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj index 054cf3d13..799a66576 100644 --- a/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj +++ b/Samples/Notifications/Push/cpp-console-unpackaged/cpp-console-unpackaged.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -209,12 +221,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -227,5 +258,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Notifications/Push/cpp-console-unpackaged/packages.config b/Samples/Notifications/Push/cpp-console-unpackaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/Notifications/Push/cpp-console-unpackaged/packages.config +++ b/Samples/Notifications/Push/cpp-console-unpackaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj b/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj index a6e1c34e6..f54da21a9 100644 --- a/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj +++ b/Samples/PhotoEditor/cpp-winui/PhotoEditor/PhotoEditor.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\packages @@ -171,6 +183,12 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + @@ -178,6 +196,19 @@ + + + + + + + + + + + + + @@ -191,5 +222,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config b/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config index 544b025a9..2bb1a4385 100644 --- a/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config +++ b/Samples/PhotoEditor/cpp-winui/PhotoEditor/packages.config @@ -1,8 +1,21 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj index b70965286..ef9d5deaf 100644 --- a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj +++ b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/console_unpackaged_app.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -214,12 +226,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -232,5 +263,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config +++ b/Samples/ResourceManagement/cpp/cpp-console-unpackaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config index 30bb89610..99c1025c9 100644 --- a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config +++ b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj index 7282e0c16..4c2a46ddc 100644 --- a/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj +++ b/Samples/ResourceManagement/cpp/cpp-winui/winui_desktop_packaged_app_cpp/winui_desktop_packaged_app_cpp.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\packages @@ -146,12 +158,31 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -164,5 +195,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SecureUI/Windowing/Windowing.vcxproj b/Samples/SecureUI/Windowing/Windowing.vcxproj index 1ce08ea75..22071359b 100644 --- a/Samples/SecureUI/Windowing/Windowing.vcxproj +++ b/Samples/SecureUI/Windowing/Windowing.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + @@ -54,6 +66,12 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + 16.0 @@ -69,27 +87,31 @@ Application true Unicode - v143 + v145 + v143 Application false true Unicode - v143 + v145 + v143 Application true Unicode - v143 + v145 + v143 Application false true Unicode - v143 + v145 + v143 Application @@ -255,10 +277,22 @@ - + + + + + + + + + + + + + @@ -266,12 +300,36 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/SecureUI/Windowing/packages.config b/Samples/SecureUI/Windowing/packages.config index cca334381..f520f5f6a 100644 --- a/Samples/SecureUI/Windowing/packages.config +++ b/Samples/SecureUI/Windowing/packages.config @@ -1,8 +1,20 @@  - + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj index 5515e4e03..24d717439 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/SelfContainedDeployment.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -49,7 +61,8 @@ Application - v143 + v145 + v143 v142 v141 v140 @@ -136,11 +149,30 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -152,5 +184,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-console-unpackaged/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj index 40e03fcab..b258eee5b 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/SelfContainedDeployment.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + packages @@ -61,7 +73,8 @@ Application - v143 + v145 + v143 Unicode true @@ -196,11 +209,30 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -212,10 +244,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-packaged/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj index e75de1f9c..87de36485 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/SelfContainedDeployment.vcxproj @@ -1,5 +1,17 @@ - + + + + + + + + + + + + + packages @@ -61,7 +73,8 @@ Application - v143 + v145 + v143 Unicode true @@ -201,11 +214,30 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -217,5 +249,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config +++ b/Samples/SelfContainedDeployment/cpp/cpp-winui-unpackaged/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj index 7f7dca30b..f3156a817 100644 --- a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj +++ b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/DWriteCoreGallery.vcxproj @@ -1,12 +1,24 @@ + + + + + + + + + + + + ..\packages - + Debug @@ -278,11 +290,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -293,5 +324,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config index 241805d0c..eb1c784ff 100644 --- a/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config +++ b/Samples/TextRendering/cpp-win32/DWriteCoreGallery/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj b/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj index d07db8de8..f46238284 100644 --- a/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj +++ b/Samples/Unpackaged/cpp-console-unpackaged/Unpackaged.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + packages @@ -7,7 +19,7 @@ - + Debug @@ -213,12 +225,31 @@ + + + packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -231,5 +262,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Unpackaged/cpp-console-unpackaged/packages.config b/Samples/Unpackaged/cpp-console-unpackaged/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/Unpackaged/cpp-console-unpackaged/packages.config +++ b/Samples/Unpackaged/cpp-console-unpackaged/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj index 20777ca9d..1d8c3e9ff 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/SampleWidgetProviderApp.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + ..\packages @@ -8,7 +20,7 @@ - + true true @@ -51,6 +63,7 @@ Application + v145 v143 v142 v141 @@ -137,12 +150,31 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -155,5 +187,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config index 222d4c466..748f00f7c 100644 --- a/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config +++ b/Samples/Widgets/cpp-win32-packaged/SampleWidgetProviderApp/packages.config @@ -1,7 +1,20 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj b/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj index 8484402d5..68f1f0f58 100644 --- a/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj +++ b/Samples/Widgets/cs-console-packaged/CsConsoleWidgetProvider/CsConsoleWidgetProvider.csproj @@ -1,7 +1,7 @@ - + Exe - net8.0-windows10.0.18362.0 + net8.0-windows10.0.19041.0 10.0.17763.0 CsConsoleWidgetProvider x86;x64;ARM64 diff --git a/Samples/Windowing/cpp/cpp-win32/Windowing/Windowing.vcxproj b/Samples/Windowing/cpp/cpp-win32/Windowing/Windowing.vcxproj index 03bf56db7..7685cbb2e 100644 --- a/Samples/Windowing/cpp/cpp-win32/Windowing/Windowing.vcxproj +++ b/Samples/Windowing/cpp/cpp-win32/Windowing/Windowing.vcxproj @@ -1,5 +1,17 @@ + + + + + + + + + + + + @@ -54,8 +66,14 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + - None + None 16.0 Win32Proj {3cb3adb7-b8c8-42a1-8f4a-236f77fb40a8} @@ -251,10 +269,22 @@ - + + + + + + + + + + + + + @@ -262,12 +292,36 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config b/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config index cca334381..f520f5f6a 100644 --- a/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config +++ b/Samples/Windowing/cpp/cpp-win32/Windowing/packages.config @@ -1,8 +1,20 @@  - + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj b/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj index f768d90aa..78732a90e 100644 --- a/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj +++ b/Samples/Windowing/cpp/cpp-winui/SampleApp/SampleApp.vcxproj @@ -1,5 +1,17 @@  + + + + + + + + + + + + ..\packages @@ -192,11 +204,30 @@ + + + ..\packages\Microsoft.Web.WebView2.1.0.3719.77\lib\Microsoft.Web.WebView2.Core.winmd + True + + + + + + + + + + + + + + + @@ -208,5 +239,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config b/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config index 9b732a991..fd30ccd1d 100644 --- a/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config +++ b/Samples/Windowing/cpp/cpp-winui/SampleApp/packages.config @@ -1,6 +1,19 @@  + + + + + + + + + + + + + \ No newline at end of file diff --git a/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj b/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj index 73bea873d..f934db86d 100644 --- a/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj +++ b/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj @@ -41,7 +41,8 @@ Application - v143 + v145 + v143 Unicode diff --git a/Samples/WindowsML/cpp/CppConsoleDesktop.FrameworkDependent/CppConsoleDesktop.FrameworkDependent.vcxproj b/Samples/WindowsML/cpp/CppConsoleDesktop.FrameworkDependent/CppConsoleDesktop.FrameworkDependent.vcxproj index 93ad10b03..f2c8d2709 100644 --- a/Samples/WindowsML/cpp/CppConsoleDesktop.FrameworkDependent/CppConsoleDesktop.FrameworkDependent.vcxproj +++ b/Samples/WindowsML/cpp/CppConsoleDesktop.FrameworkDependent/CppConsoleDesktop.FrameworkDependent.vcxproj @@ -36,7 +36,8 @@ Application - v143 + v145 + v143 Unicode diff --git a/Samples/WindowsML/cpp/CppConsoleDesktop.GenAI/CppConsoleDesktop.GenAI.vcxproj b/Samples/WindowsML/cpp/CppConsoleDesktop.GenAI/CppConsoleDesktop.GenAI.vcxproj index 714d1d33c..a992d088f 100644 --- a/Samples/WindowsML/cpp/CppConsoleDesktop.GenAI/CppConsoleDesktop.GenAI.vcxproj +++ b/Samples/WindowsML/cpp/CppConsoleDesktop.GenAI/CppConsoleDesktop.GenAI.vcxproj @@ -42,7 +42,8 @@ Application - v143 + v145 + v143 Unicode diff --git a/Samples/WindowsML/cpp/CppConsoleDesktop.SelfContained/CppConsoleDesktop.SelfContained.vcxproj b/Samples/WindowsML/cpp/CppConsoleDesktop.SelfContained/CppConsoleDesktop.SelfContained.vcxproj index 06ad5200e..3e6247a84 100644 --- a/Samples/WindowsML/cpp/CppConsoleDesktop.SelfContained/CppConsoleDesktop.SelfContained.vcxproj +++ b/Samples/WindowsML/cpp/CppConsoleDesktop.SelfContained/CppConsoleDesktop.SelfContained.vcxproj @@ -34,7 +34,8 @@ Application - v143 + v145 + v143 Unicode diff --git a/Samples/WindowsML/cpp/CppConsoleDesktop/CppConsoleDesktop.vcxproj b/Samples/WindowsML/cpp/CppConsoleDesktop/CppConsoleDesktop.vcxproj index 57858b1b4..6234a4978 100644 --- a/Samples/WindowsML/cpp/CppConsoleDesktop/CppConsoleDesktop.vcxproj +++ b/Samples/WindowsML/cpp/CppConsoleDesktop/CppConsoleDesktop.vcxproj @@ -39,7 +39,8 @@ Application - v143 + v145 + v143 Unicode diff --git a/Templates/VSIX/Project Templates/cpp-winui-template/WinUI3TemplateCpp.vcxproj b/Templates/VSIX/Project Templates/cpp-winui-template/WinUI3TemplateCpp.vcxproj index cd7536f01..a8b525b0c 100644 --- a/Templates/VSIX/Project Templates/cpp-winui-template/WinUI3TemplateCpp.vcxproj +++ b/Templates/VSIX/Project Templates/cpp-winui-template/WinUI3TemplateCpp.vcxproj @@ -1,4 +1,4 @@ - + true @@ -52,7 +52,8 @@ Application - v143 + v145 + v143 Unicode true From db2f14c6a57dda504d4db92eb64bf9f81cd5126c Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Wed, 26 Aug 2026 14:53:33 -0400 Subject: [PATCH 6/7] Fix WindowsML ABI SDK metadata resolution Use AbiWinRTSDKReferences with the resolved Windows SDK directory and target version instead of a drive-specific Windows.winmd path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26f0def2-a93d-4d41-a610-c6c6fa760d7e --- .../WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj b/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj index f934db86d..ee4a89908 100644 --- a/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj +++ b/Samples/WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj @@ -62,12 +62,6 @@ - - - C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.26100.0\Windows.winmd - true - true - $(NugetPackageDirectory)\Microsoft.Windows.AI.MachineLearning.2.1.1\metadata\Microsoft.Windows.AI.MachineLearning.winmd @@ -76,8 +70,7 @@ - - -reference "C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.26100.0\Windows.winmd" + $(WindowsSdkDir)UnionMetadata\$(WindowsTargetPlatformVersion)\Windows.winmd From d2bcd2ff8be4b191c9a5134060e4c5cb4c1c34f9 Mon Sep 17 00:00:00 2001 From: Scott Jones Date: Wed, 26 Aug 2026 18:28:35 -0400 Subject: [PATCH 7/7] Fix clean aggregator sample builds Remove stale sample ReadyToRun profile overrides so pipeline restore and publish properties remain consistent. Resolve WindowsML ABI metadata through the normalized Windows SDK target version used by MSBuild. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26f0def2-a93d-4d41-a610-c6c6fa760d7e --- .../Properties/PublishProfiles/win10-arm64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../cs-winui/Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../cs-winui/Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-arm64.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../winui_desktop_packaged_app.csproj | 7 ------- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 3 +-- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../Properties/PublishProfiles/win10-arm64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x64.pubxml | 2 -- .../Properties/PublishProfiles/win10-x86.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win-x64.pubxml | 2 -- .../cs-winui/Properties/PublishProfiles/win-x86.pubxml | 2 -- .../WindowsML/cpp-abi/CppAbiEPEnumerationSample.vcxproj | 2 +- 43 files changed, 9 insertions(+), 90 deletions(-) diff --git a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml index dd2c455eb..756813eeb 100644 --- a/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/AppLifecycle/Restart/cs-winui-packaged/cs-winui-packaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/AppLifecycle/RestartRegistration/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/DeploymentManager/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Input/cs-winui/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/Notifications/App/CsUnpackagedAppNotifications/CsUnpackagedAppNotifications/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True - - true - - diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml index 51ac0b31b..3a346a842 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-arm64.pubxml @@ -10,8 +10,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-console-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs/cs-wpf-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-packaged/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True diff --git a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml index ca40a9e6a..3e8df5de5 100644 --- a/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml +++ b/Samples/SelfContainedDeployment/cs2/cs-winui-unpackaged/Properties/PublishProfiles/win10-x64.pubxml @@ -10,8 +10,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121. bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\ true False - False - True

IYPWM|iPSeGLWYZSPe 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