From 41cd7c569da362871227cfa9cc3fd8930a49fc2d Mon Sep 17 00:00:00 2001 From: Clemens Date: Sun, 16 Jan 2022 18:39:50 +0100 Subject: [PATCH] Renamed GeoImage --- .gitignore | 12 + MapControl/WPF/GeoImage.WPF.cs | 34 +++ MapControlExtended.sln | 239 ++++++++++++++++++ .../Shared/{GeoTaggedImage.cs => GeoImage.cs} | 12 +- MapImages/UWP/MapImages.UWP.csproj | 8 +- ...{GeoTaggedImage.WPF.cs => GeoImage.WPF.cs} | 18 +- ...TaggedImage.WinUI.cs => GeoImage.WinUI.cs} | 6 +- 7 files changed, 307 insertions(+), 22 deletions(-) create mode 100644 MapControl/WPF/GeoImage.WPF.cs rename MapImages/Shared/{GeoTaggedImage.cs => GeoImage.cs} (92%) rename MapImages/WPF/{GeoTaggedImage.WPF.cs => GeoImage.WPF.cs} (82%) rename MapImages/WinUI/{GeoTaggedImage.WinUI.cs => GeoImage.WinUI.cs} (92%) diff --git a/.gitignore b/.gitignore index 4b82ccd9..d8fe68bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ .vs/ bin/ obj/ +packages/ +Maps.* +TestApps/ +Win2D/ +ChartServerLayer.cs +TileLoader.cs +MapControl_TestApps.sln +*.user +*.cache +*.cmd +*.nupkg +*.txt diff --git a/MapControl/WPF/GeoImage.WPF.cs b/MapControl/WPF/GeoImage.WPF.cs new file mode 100644 index 00000000..e1a61157 --- /dev/null +++ b/MapControl/WPF/GeoImage.WPF.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; +using System.Windows.Media.Imaging; + +namespace MapControl +{ + public partial class GeoImage : FrameworkElement + { + + + public BitmapSource Source + { + get { return (BitmapSource)GetValue(SourceProperty); } + set { SetValue(SourceProperty, value); } + } + + public static readonly DependencyProperty SourceProperty = + DependencyProperty.Register(nameof(Source), typeof(BitmapSource), typeof(GeoImage), + new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); + + protected override void OnRender(DrawingContext drawingContext) + { + if (Source != null) + { + drawingContext.DrawImage(Source, new Rect(RenderSize)); + } + } + } +} diff --git a/MapControlExtended.sln b/MapControlExtended.sln index 2398f3d7..7d117f6c 100644 --- a/MapControlExtended.sln +++ b/MapControlExtended.sln @@ -69,222 +69,460 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MapUiTools.WinUI", "MapUiTo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MapUiTools.WPF", "MapUiTools\WPF\MapUiTools.WPF.csproj", "{12430DAE-DC53-4C37-95D5-B8923B5FD3D7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps.WinUI", "SampleApps\Maps.WinUI\Maps.WinUI.csproj", "{780437BF-C773-448B-989E-6FB13A7B1F49}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|arm64 = Debug|arm64 Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|arm64 = Release|arm64 Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|arm64.ActiveCfg = Debug|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|arm64.Build.0 = Debug|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x64.ActiveCfg = Debug|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x64.Build.0 = Debug|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x86.ActiveCfg = Debug|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Debug|x86.Build.0 = Debug|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|Any CPU.ActiveCfg = Release|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|Any CPU.Build.0 = Release|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|arm64.ActiveCfg = Release|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|arm64.Build.0 = Release|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x64.ActiveCfg = Release|Any CPU {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x64.Build.0 = Release|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x86.ActiveCfg = Release|Any CPU + {A204A102-C745-4D65-AEC8-7B96FAEDEF2D}.Release|x86.Build.0 = Release|Any CPU {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.ActiveCfg = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.Build.0 = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|Any CPU.Deploy.0 = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|arm64.ActiveCfg = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|arm64.Build.0 = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|arm64.Deploy.0 = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.ActiveCfg = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.Build.0 = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x64.Deploy.0 = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.ActiveCfg = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.Build.0 = Debug|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Debug|x86.Deploy.0 = Debug|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.ActiveCfg = Release|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.Build.0 = Release|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|Any CPU.Deploy.0 = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|arm64.ActiveCfg = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|arm64.Build.0 = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|arm64.Deploy.0 = Release|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.ActiveCfg = Release|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.Build.0 = Release|x64 {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x64.Deploy.0 = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.ActiveCfg = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.Build.0 = Release|x64 + {AA62B4AA-1CA3-4C20-BEB7-B824D0FC4BD1}.Release|x86.Deploy.0 = Release|x64 {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|arm64.ActiveCfg = Debug|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|arm64.Build.0 = Debug|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x64.ActiveCfg = Debug|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x64.Build.0 = Debug|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x86.ActiveCfg = Debug|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Debug|x86.Build.0 = Debug|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|Any CPU.ActiveCfg = Release|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|Any CPU.Build.0 = Release|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|arm64.ActiveCfg = Release|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|arm64.Build.0 = Release|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x64.ActiveCfg = Release|Any CPU {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x64.Build.0 = Release|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x86.ActiveCfg = Release|Any CPU + {38B18AB6-6E70-4696-8FB4-E8C8E12BF50C}.Release|x86.Build.0 = Release|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|arm64.ActiveCfg = Debug|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|arm64.Build.0 = Debug|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x64.ActiveCfg = Debug|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x64.Build.0 = Debug|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x86.ActiveCfg = Debug|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Debug|x86.Build.0 = Debug|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|Any CPU.ActiveCfg = Release|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|Any CPU.Build.0 = Release|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|arm64.ActiveCfg = Release|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|arm64.Build.0 = Release|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x64.ActiveCfg = Release|Any CPU {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x64.Build.0 = Release|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x86.ActiveCfg = Release|Any CPU + {AD1CB53E-7AA4-4EC0-B901-B4E0E2665133}.Release|x86.Build.0 = Release|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|arm64.ActiveCfg = Debug|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|arm64.Build.0 = Debug|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x64.ActiveCfg = Debug|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x64.Build.0 = Debug|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x86.ActiveCfg = Debug|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Debug|x86.Build.0 = Debug|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|Any CPU.ActiveCfg = Release|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|Any CPU.Build.0 = Release|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|arm64.ActiveCfg = Release|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|arm64.Build.0 = Release|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x64.ActiveCfg = Release|Any CPU {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x64.Build.0 = Release|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x86.ActiveCfg = Release|Any CPU + {BEEB142A-5FA3-468D-810A-32A4A5BD6D5D}.Release|x86.Build.0 = Release|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|arm64.ActiveCfg = Debug|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|arm64.Build.0 = Debug|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x64.ActiveCfg = Debug|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x64.Build.0 = Debug|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x86.ActiveCfg = Debug|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Debug|x86.Build.0 = Debug|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|Any CPU.ActiveCfg = Release|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|Any CPU.Build.0 = Release|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|arm64.ActiveCfg = Release|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|arm64.Build.0 = Release|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x64.ActiveCfg = Release|Any CPU {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x64.Build.0 = Release|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x86.ActiveCfg = Release|Any CPU + {9545F73C-9C35-4CF6-BAAE-19A0BAEBD344}.Release|x86.Build.0 = Release|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|arm64.ActiveCfg = Debug|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|arm64.Build.0 = Debug|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x64.ActiveCfg = Debug|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x64.Build.0 = Debug|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x86.ActiveCfg = Debug|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Debug|x86.Build.0 = Debug|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|Any CPU.ActiveCfg = Release|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|Any CPU.Build.0 = Release|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|arm64.ActiveCfg = Release|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|arm64.Build.0 = Release|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x64.ActiveCfg = Release|Any CPU {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x64.Build.0 = Release|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x86.ActiveCfg = Release|Any CPU + {DCC111E9-EC8B-492A-A09D-DF390D83AE8D}.Release|x86.Build.0 = Release|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|Any CPU.Build.0 = Debug|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|arm64.ActiveCfg = Debug|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|arm64.Build.0 = Debug|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x64.ActiveCfg = Debug|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x64.Build.0 = Debug|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x86.ActiveCfg = Debug|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Debug|x86.Build.0 = Debug|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|Any CPU.ActiveCfg = Release|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|Any CPU.Build.0 = Release|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|arm64.ActiveCfg = Release|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|arm64.Build.0 = Release|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x64.ActiveCfg = Release|Any CPU {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x64.Build.0 = Release|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x86.ActiveCfg = Release|Any CPU + {426C21C0-5F14-491F-BCD1-6D2993510420}.Release|x86.Build.0 = Release|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|arm64.ActiveCfg = Debug|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|arm64.Build.0 = Debug|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x64.ActiveCfg = Debug|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x64.Build.0 = Debug|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x86.ActiveCfg = Debug|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Debug|x86.Build.0 = Debug|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|Any CPU.ActiveCfg = Release|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|Any CPU.Build.0 = Release|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|arm64.ActiveCfg = Release|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|arm64.Build.0 = Release|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x64.ActiveCfg = Release|Any CPU {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x64.Build.0 = Release|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x86.ActiveCfg = Release|Any CPU + {F92DA93D-75DB-4308-A5F9-6B4C3908A675}.Release|x86.Build.0 = Release|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|arm64.ActiveCfg = Debug|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|arm64.Build.0 = Debug|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x64.ActiveCfg = Debug|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x64.Build.0 = Debug|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x86.ActiveCfg = Debug|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Debug|x86.Build.0 = Debug|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|Any CPU.ActiveCfg = Release|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|Any CPU.Build.0 = Release|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|arm64.ActiveCfg = Release|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|arm64.Build.0 = Release|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x64.ActiveCfg = Release|Any CPU {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x64.Build.0 = Release|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x86.ActiveCfg = Release|Any CPU + {9EE69591-5EDC-45E3-893E-2F9A4B82D538}.Release|x86.Build.0 = Release|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|arm64.ActiveCfg = Debug|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|arm64.Build.0 = Debug|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|x64.ActiveCfg = Debug|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|x64.Build.0 = Debug|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|x86.ActiveCfg = Debug|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Debug|x86.Build.0 = Debug|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|Any CPU.ActiveCfg = Release|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|Any CPU.Build.0 = Release|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|arm64.ActiveCfg = Release|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|arm64.Build.0 = Release|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|x64.ActiveCfg = Release|Any CPU {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|x64.Build.0 = Release|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|x86.ActiveCfg = Release|Any CPU + {52042F63-563A-45BB-9A08-A8635AAAB84C}.Release|x86.Build.0 = Release|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|arm64.ActiveCfg = Debug|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|arm64.Build.0 = Debug|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|x64.ActiveCfg = Debug|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|x64.Build.0 = Debug|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|x86.ActiveCfg = Debug|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Debug|x86.Build.0 = Debug|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|Any CPU.ActiveCfg = Release|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|Any CPU.Build.0 = Release|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|arm64.ActiveCfg = Release|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|arm64.Build.0 = Release|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|x64.ActiveCfg = Release|Any CPU {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|x64.Build.0 = Release|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|x86.ActiveCfg = Release|Any CPU + {BE08B7BC-8C89-4837-BCE7-EDDDABEAB372}.Release|x86.Build.0 = Release|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|arm64.ActiveCfg = Debug|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|arm64.Build.0 = Debug|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|x64.ActiveCfg = Debug|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|x64.Build.0 = Debug|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|x86.ActiveCfg = Debug|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Debug|x86.Build.0 = Debug|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|Any CPU.ActiveCfg = Release|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|Any CPU.Build.0 = Release|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|arm64.ActiveCfg = Release|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|arm64.Build.0 = Release|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|x64.ActiveCfg = Release|Any CPU {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|x64.Build.0 = Release|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|x86.ActiveCfg = Release|Any CPU + {56DFA7CF-F31D-45CE-9C36-DA8DBB8413B1}.Release|x86.Build.0 = Release|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|arm64.ActiveCfg = Debug|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|arm64.Build.0 = Debug|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|x64.ActiveCfg = Debug|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|x64.Build.0 = Debug|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|x86.ActiveCfg = Debug|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Debug|x86.Build.0 = Debug|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|Any CPU.ActiveCfg = Release|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|Any CPU.Build.0 = Release|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|arm64.ActiveCfg = Release|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|arm64.Build.0 = Release|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|x64.ActiveCfg = Release|Any CPU {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|x64.Build.0 = Release|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|x86.ActiveCfg = Release|Any CPU + {0109C2F0-BA2C-420F-B2CA-DB5B29B1A349}.Release|x86.Build.0 = Release|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|arm64.ActiveCfg = Debug|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|arm64.Build.0 = Debug|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|x64.ActiveCfg = Debug|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|x64.Build.0 = Debug|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|x86.ActiveCfg = Debug|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Debug|x86.Build.0 = Debug|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|Any CPU.ActiveCfg = Release|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|Any CPU.Build.0 = Release|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|arm64.ActiveCfg = Release|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|arm64.Build.0 = Release|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|x64.ActiveCfg = Release|Any CPU {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|x64.Build.0 = Release|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|x86.ActiveCfg = Release|Any CPU + {ACA8E56C-0F82-4010-A83E-2DBFF5D16919}.Release|x86.Build.0 = Release|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|arm64.ActiveCfg = Debug|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|arm64.Build.0 = Debug|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|x64.ActiveCfg = Debug|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|x64.Build.0 = Debug|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|x86.ActiveCfg = Debug|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Debug|x86.Build.0 = Debug|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|Any CPU.Build.0 = Release|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|arm64.ActiveCfg = Release|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|arm64.Build.0 = Release|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|x64.ActiveCfg = Release|Any CPU {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|x64.Build.0 = Release|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|x86.ActiveCfg = Release|Any CPU + {DFE09FD5-530D-48AB-8A46-4611F21BBBC3}.Release|x86.Build.0 = Release|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|arm64.ActiveCfg = Debug|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|arm64.Build.0 = Debug|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|x64.ActiveCfg = Debug|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|x64.Build.0 = Debug|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|x86.ActiveCfg = Debug|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Debug|x86.Build.0 = Debug|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|Any CPU.ActiveCfg = Release|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|Any CPU.Build.0 = Release|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|arm64.ActiveCfg = Release|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|arm64.Build.0 = Release|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|x64.ActiveCfg = Release|Any CPU {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|x64.Build.0 = Release|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|x86.ActiveCfg = Release|Any CPU + {E33FC359-F713-462C-8A8E-7EEA15E36BE1}.Release|x86.Build.0 = Release|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|arm64.ActiveCfg = Debug|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|arm64.Build.0 = Debug|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|x64.ActiveCfg = Debug|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|x64.Build.0 = Debug|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|x86.ActiveCfg = Debug|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Debug|x86.Build.0 = Debug|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Release|Any CPU.ActiveCfg = Release|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Release|Any CPU.Build.0 = Release|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Release|arm64.ActiveCfg = Release|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Release|arm64.Build.0 = Release|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Release|x64.ActiveCfg = Release|Any CPU {3572F71A-83FE-459D-8370-002CA28827FE}.Release|x64.Build.0 = Release|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Release|x86.ActiveCfg = Release|Any CPU + {3572F71A-83FE-459D-8370-002CA28827FE}.Release|x86.Build.0 = Release|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|arm64.ActiveCfg = Debug|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|arm64.Build.0 = Debug|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|x64.ActiveCfg = Debug|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|x64.Build.0 = Debug|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|x86.ActiveCfg = Debug|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Debug|x86.Build.0 = Debug|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|Any CPU.ActiveCfg = Release|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|Any CPU.Build.0 = Release|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|arm64.ActiveCfg = Release|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|arm64.Build.0 = Release|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|x64.ActiveCfg = Release|Any CPU {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|x64.Build.0 = Release|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|x86.ActiveCfg = Release|Any CPU + {1F9FBADF-65C0-453D-9B45-7A88044F807F}.Release|x86.Build.0 = Release|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|arm64.ActiveCfg = Debug|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|arm64.Build.0 = Debug|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|x64.ActiveCfg = Debug|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|x64.Build.0 = Debug|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|x86.ActiveCfg = Debug|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Debug|x86.Build.0 = Debug|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|Any CPU.ActiveCfg = Release|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|Any CPU.Build.0 = Release|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|arm64.ActiveCfg = Release|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|arm64.Build.0 = Release|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|x64.ActiveCfg = Release|Any CPU {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|x64.Build.0 = Release|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|x86.ActiveCfg = Release|Any CPU + {817D606F-A22D-485C-89CF-86062C8E97EF}.Release|x86.Build.0 = Release|Any CPU {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|Any CPU.ActiveCfg = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|Any CPU.Build.0 = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|Any CPU.Deploy.0 = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|arm64.ActiveCfg = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|arm64.Build.0 = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|arm64.Deploy.0 = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x64.ActiveCfg = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x64.Build.0 = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x64.Deploy.0 = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x86.ActiveCfg = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x86.Build.0 = Debug|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Debug|x86.Deploy.0 = Debug|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|Any CPU.ActiveCfg = Release|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|Any CPU.Build.0 = Release|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|Any CPU.Deploy.0 = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|arm64.ActiveCfg = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|arm64.Build.0 = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|arm64.Deploy.0 = Release|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x64.ActiveCfg = Release|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x64.Build.0 = Release|x64 {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x64.Deploy.0 = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x86.ActiveCfg = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x86.Build.0 = Release|x64 + {751EF297-7CF4-4879-BA8F-42661FA68668}.Release|x86.Deploy.0 = Release|x64 {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|arm64.ActiveCfg = Debug|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|arm64.Build.0 = Debug|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|x64.ActiveCfg = Debug|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|x64.Build.0 = Debug|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|x86.ActiveCfg = Debug|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Debug|x86.Build.0 = Debug|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|Any CPU.ActiveCfg = Release|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|Any CPU.Build.0 = Release|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|arm64.ActiveCfg = Release|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|arm64.Build.0 = Release|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|x64.ActiveCfg = Release|Any CPU {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|x64.Build.0 = Release|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|x86.ActiveCfg = Release|Any CPU + {AC8C7BE0-9E72-434B-8BF3-FAEFAC2E859C}.Release|x86.Build.0 = Release|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|arm64.ActiveCfg = Debug|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|arm64.Build.0 = Debug|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|x64.ActiveCfg = Debug|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|x64.Build.0 = Debug|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|x86.ActiveCfg = Debug|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Debug|x86.Build.0 = Debug|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|Any CPU.ActiveCfg = Release|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|Any CPU.Build.0 = Release|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|arm64.ActiveCfg = Release|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|arm64.Build.0 = Release|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|x64.ActiveCfg = Release|Any CPU {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|x64.Build.0 = Release|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|x86.ActiveCfg = Release|Any CPU + {DFFE8E49-AA07-457E-A459-99326B44F828}.Release|x86.Build.0 = Release|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|arm64.ActiveCfg = Debug|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|arm64.Build.0 = Debug|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|x64.ActiveCfg = Debug|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|x64.Build.0 = Debug|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|x86.ActiveCfg = Debug|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Debug|x86.Build.0 = Debug|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|Any CPU.ActiveCfg = Release|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|Any CPU.Build.0 = Release|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|arm64.ActiveCfg = Release|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|arm64.Build.0 = Release|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|x64.ActiveCfg = Release|Any CPU {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|x64.Build.0 = Release|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|x86.ActiveCfg = Release|Any CPU + {C412209E-D81D-4ACB-BECD-FEEF52B93468}.Release|x86.Build.0 = Release|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|arm64.ActiveCfg = Debug|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|arm64.Build.0 = Debug|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|x64.ActiveCfg = Debug|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|x64.Build.0 = Debug|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|x86.ActiveCfg = Debug|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Debug|x86.Build.0 = Debug|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|Any CPU.ActiveCfg = Release|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|Any CPU.Build.0 = Release|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|arm64.ActiveCfg = Release|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|arm64.Build.0 = Release|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|x64.ActiveCfg = Release|Any CPU {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|x64.Build.0 = Release|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|x86.ActiveCfg = Release|Any CPU + {12430DAE-DC53-4C37-95D5-B8923B5FD3D7}.Release|x86.Build.0 = Release|Any CPU + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|Any CPU.ActiveCfg = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|Any CPU.Build.0 = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|Any CPU.Deploy.0 = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|arm64.ActiveCfg = Debug|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|arm64.Build.0 = Debug|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|arm64.Deploy.0 = Debug|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x64.ActiveCfg = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x64.Build.0 = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x64.Deploy.0 = Debug|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x86.ActiveCfg = Debug|x86 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x86.Build.0 = Debug|x86 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Debug|x86.Deploy.0 = Debug|x86 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|Any CPU.ActiveCfg = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|Any CPU.Build.0 = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|Any CPU.Deploy.0 = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|arm64.ActiveCfg = Release|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|arm64.Build.0 = Release|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|arm64.Deploy.0 = Release|arm64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x64.ActiveCfg = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x64.Build.0 = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x64.Deploy.0 = Release|x64 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x86.ActiveCfg = Release|x86 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x86.Build.0 = Release|x86 + {780437BF-C773-448B-989E-6FB13A7B1F49}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -315,6 +553,7 @@ Global {DFFE8E49-AA07-457E-A459-99326B44F828} = {90C681E9-12AE-4B5F-932D-7EF5D35D8436} {C412209E-D81D-4ACB-BECD-FEEF52B93468} = {90C681E9-12AE-4B5F-932D-7EF5D35D8436} {12430DAE-DC53-4C37-95D5-B8923B5FD3D7} = {90C681E9-12AE-4B5F-932D-7EF5D35D8436} + {780437BF-C773-448B-989E-6FB13A7B1F49} = {8F2103C2-78AF-4810-8FB9-67572F50C8FC} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {458346DD-B23F-4FDC-8F9D-A10F1882A4DB} diff --git a/MapImages/Shared/GeoTaggedImage.cs b/MapImages/Shared/GeoImage.cs similarity index 92% rename from MapImages/Shared/GeoTaggedImage.cs rename to MapImages/Shared/GeoImage.cs index d99d390e..31ed76f5 100644 --- a/MapImages/Shared/GeoTaggedImage.cs +++ b/MapImages/Shared/GeoImage.cs @@ -29,7 +29,7 @@ using System.Windows.Media.Imaging; namespace MapControl.Images { - public partial class GeoTaggedImage + public partial class GeoImage { private const string PixelScaleQuery = "/ifd/{ushort=33550}"; private const string TiePointQuery = "/ifd/{ushort=33922}"; @@ -37,7 +37,7 @@ namespace MapControl.Images private const string NoDataQuery = "/ifd/{ushort=42113}"; public static readonly DependencyProperty PathProperty = DependencyProperty.RegisterAttached( - "Path", typeof(string), typeof(GeoTaggedImage), new PropertyMetadata(null, PathPropertyChanged)); + "Path", typeof(string), typeof(GeoImage), new PropertyMetadata(null, PathPropertyChanged)); public BitmapSource Bitmap { get; } public Matrix Transform { get; } @@ -45,7 +45,7 @@ namespace MapControl.Images public BoundingBox BoundingBox { get; } public double Rotation { get; } - public GeoTaggedImage(BitmapSource bitmap, Matrix transform, MapProjection projection) + public GeoImage(BitmapSource bitmap, Matrix transform, MapProjection projection) { Bitmap = bitmap; Transform = transform; @@ -87,7 +87,7 @@ namespace MapControl.Images image.SetValue(PathProperty, path); } - public static Task ReadImage(string imageFilePath) + public static Task ReadImage(string imageFilePath) { var ext = Path.GetExtension(imageFilePath); if (ext.Length < 4) @@ -107,7 +107,7 @@ namespace MapControl.Images return ReadGeoTiff(imageFilePath); } - public static async Task ReadImage(string imageFilePath, string worldFilePath, string projFilePath = null) + public static async Task ReadImage(string imageFilePath, string worldFilePath, string projFilePath = null) { var transform = ReadWorldFile(worldFilePath); @@ -117,7 +117,7 @@ namespace MapControl.Images var bitmap = (BitmapSource)await ImageLoader.LoadImageAsync(imageFilePath); - return new GeoTaggedImage(bitmap, transform, projection); + return new GeoImage(bitmap, transform, projection); } public static Matrix ReadWorldFile(string path) diff --git a/MapImages/UWP/MapImages.UWP.csproj b/MapImages/UWP/MapImages.UWP.csproj index ff0d28ff..06c5da19 100644 --- a/MapImages/UWP/MapImages.UWP.csproj +++ b/MapImages/UWP/MapImages.UWP.csproj @@ -40,14 +40,14 @@ PackageReference - - GeoTaggedImage.cs + + GeoImage.cs GroundOverlayPanel.cs - - GeoTaggedImage.WinUI.cs + + GeoImage.WinUI.cs diff --git a/MapImages/WPF/GeoTaggedImage.WPF.cs b/MapImages/WPF/GeoImage.WPF.cs similarity index 82% rename from MapImages/WPF/GeoTaggedImage.WPF.cs rename to MapImages/WPF/GeoImage.WPF.cs index bfc9a6d1..5aceb7eb 100644 --- a/MapImages/WPF/GeoTaggedImage.WPF.cs +++ b/MapImages/WPF/GeoImage.WPF.cs @@ -11,11 +11,11 @@ using System.Windows.Media.Imaging; namespace MapControl.Images { - public partial class GeoTaggedImage + public partial class GeoImage { - public static Task ReadGeoTiff(string imageFilePath) + public static Task ReadGeoTiff(string imageFilePath) { - return Task.Run(() => + return Task.Run((Func)(() => { BitmapSource bitmap; Matrix transform; @@ -27,12 +27,12 @@ namespace MapControl.Images var metadata = bitmap.Metadata as BitmapMetadata; - if (metadata.GetQuery(PixelScaleQuery) is double[] pixelScale && pixelScale.Length == 3 && - metadata.GetQuery(TiePointQuery) is double[] tiePoint && tiePoint.Length >= 6) + if (metadata.GetQuery((string)PixelScaleQuery) is double[] pixelScale && pixelScale.Length == 3 && + metadata.GetQuery((string)TiePointQuery) is double[] tiePoint && tiePoint.Length >= 6) { transform = new Matrix(pixelScale[0], 0d, 0d, -pixelScale[1], tiePoint[3], tiePoint[4]); } - else if (metadata.GetQuery(TransformQuery) is double[] tform && tform.Length == 16) + else if (metadata.GetQuery((string)TransformQuery) is double[] tform && tform.Length == 16) { transform = new Matrix(tform[0], tform[1], tform[4], tform[5], tform[3], tform[7]); } @@ -41,13 +41,13 @@ namespace MapControl.Images throw new ArgumentException("No coordinate transformation found in \"" + imageFilePath + "\"."); } - if (metadata.GetQuery(NoDataQuery) is string noData && int.TryParse(noData, out int noDataValue)) + if (metadata.GetQuery((string)NoDataQuery) is string noData && int.TryParse(noData, out int noDataValue)) { bitmap = ConvertTransparentPixel(bitmap, noDataValue); } - return new GeoTaggedImage(bitmap, transform, null); - }); + return new GeoImage(bitmap, transform, (MapProjection)null); + })); } public static BitmapSource ConvertTransparentPixel(BitmapSource source, int transparentPixel) diff --git a/MapImages/WinUI/GeoTaggedImage.WinUI.cs b/MapImages/WinUI/GeoImage.WinUI.cs similarity index 92% rename from MapImages/WinUI/GeoTaggedImage.WinUI.cs rename to MapImages/WinUI/GeoImage.WinUI.cs index 889baca2..c0240e39 100644 --- a/MapImages/WinUI/GeoTaggedImage.WinUI.cs +++ b/MapImages/WinUI/GeoImage.WinUI.cs @@ -17,9 +17,9 @@ using Windows.UI.Xaml.Media.Imaging; namespace MapControl.Images { - public partial class GeoTaggedImage + public partial class GeoImage { - public static async Task ReadGeoTiff(string imageFilePath) + public static async Task ReadGeoTiff(string imageFilePath) { var file = await StorageFile.GetFileFromPathAsync(Path.GetFullPath(imageFilePath)); @@ -60,7 +60,7 @@ namespace MapControl.Images throw new ArgumentException("No coordinate transformation found in \"" + imageFilePath + "\"."); } - return new GeoTaggedImage(bitmap, transform, null); + return new GeoImage(bitmap, transform, null); } } }