From 82e7f1953cef21c75f3a54515bd63315dc1dd90a Mon Sep 17 00:00:00 2001 From: ClemensF Date: Sat, 20 Jun 2020 13:19:36 +0200 Subject: [PATCH] Version 5.3. Fixed WMTS layer, MapItem mouse handling --- FileDbCache/UWP/Properties/AssemblyInfo.cs | 4 +- FileDbCache/WPF/FileDbCache.WPF.csproj | 2 +- MBTiles/UWP/MBTiles.UWP.csproj | 2 +- MBTiles/UWP/Properties/AssemblyInfo.cs | 4 +- MBTiles/WPF/MBTiles.WPF.csproj | 4 +- MapControl/UWP/MapItemsControl.UWP.cs | 2 - MapControl/UWP/MapPath.UWP.cs | 86 ++++++++++++------- MapControl/UWP/Properties/AssemblyInfo.cs | 4 +- MapControl/WPF/MapControl.WPF.csproj | 2 +- MapControl/WPF/MapItemsControl.WPF.cs | 2 - MapImages/UWP/Properties/AssemblyInfo.cs | 4 +- MapImages/WPF/MapImages.WPF.csproj | 2 +- MapProjections/UWP/Properties/AssemblyInfo.cs | 4 +- MapProjections/WPF/MapProjections.WPF.csproj | 2 +- SQLiteCache/UWP/Properties/AssemblyInfo.cs | 4 +- SQLiteCache/UWP/SQLiteCache.UWP.csproj | 2 +- SQLiteCache/WPF/SQLiteCache.WPF.csproj | 4 +- .../UniversalApp/Properties/AssemblyInfo.cs | 4 +- .../WpfApplication/WpfApplication.csproj | 2 +- 19 files changed, 80 insertions(+), 60 deletions(-) diff --git a/FileDbCache/UWP/Properties/AssemblyInfo.cs b/FileDbCache/UWP/Properties/AssemblyInfo.cs index 46793698..1aa05c91 100644 --- a/FileDbCache/UWP/Properties/AssemblyInfo.cs +++ b/FileDbCache/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/FileDbCache/WPF/FileDbCache.WPF.csproj b/FileDbCache/WPF/FileDbCache.WPF.csproj index e9a56c2f..f282cf63 100644 --- a/FileDbCache/WPF/FileDbCache.WPF.csproj +++ b/FileDbCache/WPF/FileDbCache.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 ObjectCache implementation based on EzTools FileDb Clemens Fischer Copyright © 2020 Clemens Fischer diff --git a/MBTiles/UWP/MBTiles.UWP.csproj b/MBTiles/UWP/MBTiles.UWP.csproj index 9e44f6c0..64a7d13a 100644 --- a/MBTiles/UWP/MBTiles.UWP.csproj +++ b/MBTiles/UWP/MBTiles.UWP.csproj @@ -57,7 +57,7 @@ 6.2.10 - 1.0.112.2 + 1.0.113.1 diff --git a/MBTiles/UWP/Properties/AssemblyInfo.cs b/MBTiles/UWP/Properties/AssemblyInfo.cs index 3a0d930b..94344509 100644 --- a/MBTiles/UWP/Properties/AssemblyInfo.cs +++ b/MBTiles/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MBTiles/WPF/MBTiles.WPF.csproj b/MBTiles/WPF/MBTiles.WPF.csproj index f986f1f1..244e18c5 100644 --- a/MBTiles/WPF/MBTiles.WPF.csproj +++ b/MBTiles/WPF/MBTiles.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 MBTiles Support Library for XAML Map Control Clemens Fischer Copyright © 2020 Clemens Fischer @@ -38,7 +38,7 @@ - + diff --git a/MapControl/UWP/MapItemsControl.UWP.cs b/MapControl/UWP/MapItemsControl.UWP.cs index 6a9a3488..8254a4dd 100644 --- a/MapControl/UWP/MapItemsControl.UWP.cs +++ b/MapControl/UWP/MapItemsControl.UWP.cs @@ -23,8 +23,6 @@ namespace MapControl protected override void OnPointerPressed(PointerRoutedEventArgs e) { - e.Handled = true; - (ItemsControl.ItemsControlFromItemContainer(this) as MapItemsControl)?.OnItemClicked( this, e.KeyModifiers.HasFlag(VirtualKeyModifiers.Control), e.KeyModifiers.HasFlag(VirtualKeyModifiers.Shift)); } diff --git a/MapControl/UWP/MapPath.UWP.cs b/MapControl/UWP/MapPath.UWP.cs index b76a1da4..a4ef5722 100644 --- a/MapControl/UWP/MapPath.UWP.cs +++ b/MapControl/UWP/MapPath.UWP.cs @@ -40,45 +40,69 @@ namespace MapControl { if (locations.Count() >= 2) { - var points = locations.Select(location => LocationToView(location, longitudeOffset)).ToList(); + var points = locations.Select(location => LocationToView(location, longitudeOffset)); if (closed) { - points.Add(points[0]); - } + var segment = new PolyLineSegment(); - var viewport = new Rect(0, 0, ParentMap.RenderSize.Width, ParentMap.RenderSize.Height); - PathFigure figure = null; - PolyLineSegment segment = null; - - for (int i = 1; i < points.Count; i++) - { - var p1 = points[i - 1]; - var p2 = points[i]; - var inside = Intersections.GetIntersections(ref p1, ref p2, viewport); - - if (inside) + foreach (var point in points.Skip(1)) { - if (figure == null) - { - figure = new PathFigure - { - StartPoint = p1, - IsClosed = false, - IsFilled = false - }; - - segment = new PolyLineSegment(); - figure.Segments.Add(segment); - pathFigures.Add(figure); - } - - segment.Points.Add(p2); + segment.Points.Add(point); } - if (!inside || p2 != points[i]) + var figure = new PathFigure { - figure = null; + StartPoint = points.First(), + IsClosed = closed, + IsFilled = closed + }; + + figure.Segments.Add(segment); + pathFigures.Add(figure); + } + else + { + var pointList = points.ToList(); + + if (closed) + { + pointList.Add(pointList[0]); + } + + var viewport = new Rect(0, 0, ParentMap.RenderSize.Width, ParentMap.RenderSize.Height); + PathFigure figure = null; + PolyLineSegment segment = null; + + for (int i = 1; i < pointList.Count; i++) + { + var p1 = pointList[i - 1]; + var p2 = pointList[i]; + var inside = Intersections.GetIntersections(ref p1, ref p2, viewport); + + if (inside) + { + if (figure == null) + { + figure = new PathFigure + { + StartPoint = p1, + IsClosed = false, + IsFilled = false + }; + + segment = new PolyLineSegment(); + figure.Segments.Add(segment); + pathFigures.Add(figure); + } + + segment.Points.Add(p2); + } + + if (!inside || p2 != pointList[i]) + { + figure = null; + } } } } diff --git a/MapControl/UWP/Properties/AssemblyInfo.cs b/MapControl/UWP/Properties/AssemblyInfo.cs index 93ff48b6..23db4481 100644 --- a/MapControl/UWP/Properties/AssemblyInfo.cs +++ b/MapControl/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/WPF/MapControl.WPF.csproj b/MapControl/WPF/MapControl.WPF.csproj index d1bf9dee..333b42f9 100644 --- a/MapControl/WPF/MapControl.WPF.csproj +++ b/MapControl/WPF/MapControl.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 XAML Map Control Library Clemens Fischer Copyright © 2020 Clemens Fischer diff --git a/MapControl/WPF/MapItemsControl.WPF.cs b/MapControl/WPF/MapItemsControl.WPF.cs index 559249a0..d9d80af5 100644 --- a/MapControl/WPF/MapItemsControl.WPF.cs +++ b/MapControl/WPF/MapItemsControl.WPF.cs @@ -23,8 +23,6 @@ namespace MapControl protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { - e.Handled = true; - (ItemsControl.ItemsControlFromItemContainer(this) as MapItemsControl)?.OnItemClicked( this, Keyboard.Modifiers.HasFlag(ModifierKeys.Control), Keyboard.Modifiers.HasFlag(ModifierKeys.Shift)); } diff --git a/MapImages/UWP/Properties/AssemblyInfo.cs b/MapImages/UWP/Properties/AssemblyInfo.cs index 1f14c66f..c300545c 100644 --- a/MapImages/UWP/Properties/AssemblyInfo.cs +++ b/MapImages/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapImages/WPF/MapImages.WPF.csproj b/MapImages/WPF/MapImages.WPF.csproj index 301ba869..277123a8 100644 --- a/MapImages/WPF/MapImages.WPF.csproj +++ b/MapImages/WPF/MapImages.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 Image Support Library for XAML Map Control Clemens Fischer Copyright © 2020 Clemens Fischer diff --git a/MapProjections/UWP/Properties/AssemblyInfo.cs b/MapProjections/UWP/Properties/AssemblyInfo.cs index e0bfb34c..f0304900 100644 --- a/MapProjections/UWP/Properties/AssemblyInfo.cs +++ b/MapProjections/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapProjections/WPF/MapProjections.WPF.csproj b/MapProjections/WPF/MapProjections.WPF.csproj index 11d5517c..5328f5ad 100644 --- a/MapProjections/WPF/MapProjections.WPF.csproj +++ b/MapProjections/WPF/MapProjections.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 Map Projections Library for XAML Map Control Clemens Fischer Copyright © 2020 Clemens Fischer diff --git a/SQLiteCache/UWP/Properties/AssemblyInfo.cs b/SQLiteCache/UWP/Properties/AssemblyInfo.cs index 18692cbb..0cf3332d 100644 --- a/SQLiteCache/UWP/Properties/AssemblyInfo.cs +++ b/SQLiteCache/UWP/Properties/AssemblyInfo.cs @@ -7,8 +7,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SQLiteCache/UWP/SQLiteCache.UWP.csproj b/SQLiteCache/UWP/SQLiteCache.UWP.csproj index 992e9db4..7df2b1ee 100644 --- a/SQLiteCache/UWP/SQLiteCache.UWP.csproj +++ b/SQLiteCache/UWP/SQLiteCache.UWP.csproj @@ -52,7 +52,7 @@ 6.2.10 - 1.0.112.2 + 1.0.113.1 diff --git a/SQLiteCache/WPF/SQLiteCache.WPF.csproj b/SQLiteCache/WPF/SQLiteCache.WPF.csproj index 4f4621e9..f073818d 100644 --- a/SQLiteCache/WPF/SQLiteCache.WPF.csproj +++ b/SQLiteCache/WPF/SQLiteCache.WPF.csproj @@ -9,7 +9,7 @@ ..\..\MapControl.snk false XAML Map Control - 5.2.1 + 5.3.0 ObjectCache implementation based on SQLite Clemens Fischer Copyright © 2020 Clemens Fischer @@ -46,7 +46,7 @@ - + diff --git a/SampleApps/UniversalApp/Properties/AssemblyInfo.cs b/SampleApps/UniversalApp/Properties/AssemblyInfo.cs index 41860168..b4da3f21 100644 --- a/SampleApps/UniversalApp/Properties/AssemblyInfo.cs +++ b/SampleApps/UniversalApp/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyCopyright("Copyright © 2020 Clemens Fischer")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("5.2.1")] -[assembly: AssemblyFileVersion("5.2.1")] +[assembly: AssemblyVersion("5.3.0")] +[assembly: AssemblyFileVersion("5.3.0")] [assembly: AssemblyConfiguration("")] [assembly: ComVisible(false)] diff --git a/SampleApps/WpfApplication/WpfApplication.csproj b/SampleApps/WpfApplication/WpfApplication.csproj index 2a5523db..2c761293 100644 --- a/SampleApps/WpfApplication/WpfApplication.csproj +++ b/SampleApps/WpfApplication/WpfApplication.csproj @@ -6,7 +6,7 @@ true WpfApplication XAML Map Control - 5.2.1 + 5.3.0 XAML Map Control WPF Sample Application Clemens Fischer Copyright © 2020 Clemens Fischer