From 5d6becbb50103d3c6c663da226c933ee4c848b39 Mon Sep 17 00:00:00 2001 From: ClemensF Date: Mon, 13 May 2013 23:49:48 +0200 Subject: [PATCH] Version 1.3.2: Replaced WebClient by WebRequest in MapImageLayer. --- .../FileDbCache/Properties/AssemblyInfo.cs | 4 +- .../ImageFileCache/Properties/AssemblyInfo.cs | 4 +- MapControl/MapBase.Silverlight.WinRT.cs | 1 + MapControl/MapBase.cs | 35 +++-- MapControl/MapImageLayer.cs | 132 ++++++++++-------- MapControl/MapPanel.cs | 2 +- MapControl/Properties/AssemblyInfo.cs | 4 +- MapControl/TileContainer.Silverlight.WinRT.cs | 24 +++- MapControl/TileContainer.WPF.cs | 26 +++- MapControl/TileContainer.cs | 51 +++---- MapControl/TileLayer.cs | 9 +- MapControl/WinRT/Properties/AssemblyInfo.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../Properties/AssemblyInfo.cs | 4 +- .../WpfApplication/Properties/AssemblyInfo.cs | 4 +- 17 files changed, 178 insertions(+), 138 deletions(-) diff --git a/Caching/FileDbCache/Properties/AssemblyInfo.cs b/Caching/FileDbCache/Properties/AssemblyInfo.cs index be8c9071..92046b81 100644 --- a/Caching/FileDbCache/Properties/AssemblyInfo.cs +++ b/Caching/FileDbCache/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/Caching/ImageFileCache/Properties/AssemblyInfo.cs b/Caching/ImageFileCache/Properties/AssemblyInfo.cs index 18c1c75e..96fc3d2e 100644 --- a/Caching/ImageFileCache/Properties/AssemblyInfo.cs +++ b/Caching/ImageFileCache/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/MapBase.Silverlight.WinRT.cs b/MapControl/MapBase.Silverlight.WinRT.cs index 85133f90..d3f79c6f 100644 --- a/MapControl/MapBase.Silverlight.WinRT.cs +++ b/MapControl/MapBase.Silverlight.WinRT.cs @@ -27,6 +27,7 @@ namespace MapControl partial void Initialize() { + Background = new SolidColorBrush(Colors.Transparent); Clip = new RectangleGeometry(); Children.Add(tileContainer); diff --git a/MapControl/MapBase.cs b/MapControl/MapBase.cs index d42e72c1..9eebb9bd 100644 --- a/MapControl/MapBase.cs +++ b/MapControl/MapBase.cs @@ -90,8 +90,8 @@ namespace MapControl private PointAnimation centerAnimation; private DoubleAnimation zoomLevelAnimation; private DoubleAnimation headingAnimation; - private Brush previousBackground; - private Brush previousForeground; + private Brush storedBackground; + private Brush storedForeground; private bool internalPropertyChange; public MapBase() @@ -497,32 +497,32 @@ namespace MapControl if (tileLayer != null && tileLayer.Background != null) { - if (previousBackground == null) + if (storedBackground == null) { - previousBackground = Background; + storedBackground = Background; } Background = tileLayer.Background; } - else if (previousBackground != null) + else if (storedBackground != null) { - Background = previousBackground; - previousBackground = null; + Background = storedBackground; + storedBackground = null; } if (tileLayer != null && tileLayer.Foreground != null) { - if (previousForeground == null) + if (storedForeground == null) { - previousForeground = Foreground; + storedForeground = Foreground; } Foreground = tileLayer.Foreground; } - else if (previousForeground != null) + else if (storedForeground != null) { - Foreground = previousForeground; - previousForeground = null; + Foreground = storedForeground; + storedForeground = null; } } @@ -806,12 +806,12 @@ namespace MapControl private void UpdateTransform() { var center = Center; - var origin = mapTransform.Transform(transformOrigin ?? center); - var scale = tileContainer.SetViewportTransform(ZoomLevel, Heading, origin, viewportOrigin, RenderSize); + var scale = SetViewportTransform(transformOrigin ?? center); if (transformOrigin != null) { center = ViewportPointToLocation(new Point(RenderSize.Width / 2d, RenderSize.Height / 2d)); + var coerced = CoerceLocation(center, 1e-3); InternalSetValue(CenterProperty, center); @@ -819,7 +819,7 @@ namespace MapControl if (coerced) { ResetTransformOrigin(); - scale = tileContainer.SetViewportTransform(ZoomLevel, Heading, mapTransform.Transform(center), viewportOrigin, RenderSize); + scale = SetViewportTransform(center); } } @@ -829,5 +829,10 @@ namespace MapControl OnViewportChanged(); } + + private double SetViewportTransform(Location origin) + { + return tileContainer.SetViewportTransform(ZoomLevel, Heading, mapTransform.Transform(origin), viewportOrigin, RenderSize); + } } } diff --git a/MapControl/MapImageLayer.cs b/MapControl/MapImageLayer.cs index 1eece36c..d3cd7d94 100644 --- a/MapControl/MapImageLayer.cs +++ b/MapControl/MapImageLayer.cs @@ -10,6 +10,7 @@ using System.Net; using System.Threading; using System.Windows; using System.Windows.Controls; +using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Imaging; using System.Windows.Threading; @@ -27,7 +28,6 @@ namespace MapControl public class MapImageLayer : MapPanel { private readonly DispatcherTimer updateTimer; - private readonly WebClient webClient; private string uriFormat; private bool latLonBoundingBox; private bool imageIsValid; @@ -39,9 +39,6 @@ namespace MapControl Children.Add(new MapImage { Opacity = 0d }); Children.Add(new MapImage { Opacity = 0d }); - webClient = new WebClient(); - webClient.Headers.Add(HttpRequestHeader.UserAgent, "XAML Map Control"); - updateTimer = new DispatcherTimer { Interval = TileContainer.UpdateInterval }; updateTimer.Tick += UpdateImage; } @@ -86,6 +83,61 @@ namespace MapControl updateTimer.Start(); } + protected virtual ImageSource GetImage(double west, double east, double south, double north, int width, int height) + { + ImageSource image = null; + var uri = uriFormat.Replace("{X}", width.ToString()).Replace("{Y}", height.ToString()); + + if (latLonBoundingBox) + { + uri = uri. + Replace("{w}", west.ToString(CultureInfo.InvariantCulture)). + Replace("{s}", south.ToString(CultureInfo.InvariantCulture)). + Replace("{e}", east.ToString(CultureInfo.InvariantCulture)). + Replace("{n}", north.ToString(CultureInfo.InvariantCulture)); + } + else + { + var p1 = ParentMap.MapTransform.Transform(new Location(south, west)); + var p2 = ParentMap.MapTransform.Transform(new Location(north, east)); + var arc = TileSource.EarthRadius * Math.PI / 180d; + + uri = uri. + Replace("{W}", (arc * p1.X).ToString(CultureInfo.InvariantCulture)). + Replace("{S}", (arc * p1.Y).ToString(CultureInfo.InvariantCulture)). + Replace("{E}", (arc * p2.X).ToString(CultureInfo.InvariantCulture)). + Replace("{N}", (arc * p2.Y).ToString(CultureInfo.InvariantCulture)); + } + + try + { + var bitmap = new BitmapImage(); + var request = (HttpWebRequest)WebRequest.Create(uri); + request.UserAgent = "XAML Map Control"; + + using (var response = (HttpWebResponse)request.GetResponse()) + using (var responseStream = response.GetResponseStream()) + using (var memoryStream = new MemoryStream()) + { + responseStream.CopyTo(memoryStream); + + bitmap.BeginInit(); + bitmap.CacheOption = BitmapCacheOption.OnLoad; + bitmap.StreamSource = memoryStream; + bitmap.EndInit(); + bitmap.Freeze(); + } + + image = bitmap; + } + catch (Exception ex) + { + Trace.TraceWarning("{0}: {1}", uri, ex.Message); + } + + return image; + } + private void UpdateImage(object sender, EventArgs e) { updateTimer.Stop(); @@ -98,14 +150,12 @@ namespace MapControl imageIsValid = true; updateInProgress = true; - var uri = uriFormat. - Replace("{X}", ActualWidth.ToString("F0", CultureInfo.InvariantCulture)). - Replace("{Y}", ActualHeight.ToString("F0", CultureInfo.InvariantCulture)); - var loc1 = ParentMap.ViewportPointToLocation(new Point(0d, 0d)); var loc2 = ParentMap.ViewportPointToLocation(new Point(ActualWidth, 0d)); var loc3 = ParentMap.ViewportPointToLocation(new Point(0d, ActualHeight)); var loc4 = ParentMap.ViewportPointToLocation(new Point(ActualWidth, ActualHeight)); + var width = (int)ActualWidth; + var height = (int)ActualHeight; ThreadPool.QueueUserWorkItem(o => { @@ -113,61 +163,31 @@ namespace MapControl var east = Math.Max(loc1.Longitude, Math.Max(loc2.Longitude, Math.Max(loc3.Longitude, loc4.Longitude))); var south = Math.Min(loc1.Latitude, Math.Min(loc2.Latitude, Math.Min(loc3.Latitude, loc4.Latitude))); var north = Math.Max(loc1.Latitude, Math.Max(loc2.Latitude, Math.Max(loc3.Latitude, loc4.Latitude))); + var image = GetImage(west, east, south, north, width, height); - if (latLonBoundingBox) + if (image != null) { - uri = uri. - Replace("{w}", west.ToString(CultureInfo.InvariantCulture)). - Replace("{s}", south.ToString(CultureInfo.InvariantCulture)). - Replace("{e}", east.ToString(CultureInfo.InvariantCulture)). - Replace("{n}", north.ToString(CultureInfo.InvariantCulture)); - } - else - { - var p1 = ParentMap.MapTransform.Transform(new Location(south, west)); - var p2 = ParentMap.MapTransform.Transform(new Location(north, east)); - var arc = TileSource.EarthRadius * Math.PI / 180d; - - uri = uri. - Replace("{W}", (arc * p1.X).ToString(CultureInfo.InvariantCulture)). - Replace("{S}", (arc * p1.Y).ToString(CultureInfo.InvariantCulture)). - Replace("{E}", (arc * p2.X).ToString(CultureInfo.InvariantCulture)). - Replace("{N}", (arc * p2.Y).ToString(CultureInfo.InvariantCulture)); - } - - try - { - var buffer = webClient.DownloadData(uri); - var bitmap = new BitmapImage(); - - using (var stream = new MemoryStream(buffer)) - { - bitmap.BeginInit(); - bitmap.CacheOption = BitmapCacheOption.OnLoad; - bitmap.StreamSource = stream; - bitmap.EndInit(); - bitmap.Freeze(); - } - Dispatcher.BeginInvoke((Action)(() => { - var image = (MapImage)Children[currentImageIndex]; - image.BeginAnimation(Image.OpacityProperty, - new DoubleAnimation(0d, Tile.AnimationDuration) + var mapImage = (MapImage)Children[currentImageIndex]; + mapImage.BeginAnimation(Image.OpacityProperty, + new DoubleAnimation { + To = 0, + Duration = Tile.AnimationDuration, BeginTime = Tile.AnimationDuration }); currentImageIndex = (currentImageIndex + 1) % 2; - image = (MapImage)Children[currentImageIndex]; - image.Source = null; - image.North = double.NaN; // avoid frequent MapRectangle.UpdateGeometry() calls - image.West = west; - image.East = east; - image.South = south; - image.North = north; - image.Source = bitmap; - image.BeginAnimation(Image.OpacityProperty, new DoubleAnimation(1d, Tile.AnimationDuration)); + mapImage = (MapImage)Children[currentImageIndex]; + mapImage.Source = null; + mapImage.North = double.NaN; // avoid frequent MapRectangle.UpdateGeometry() calls + mapImage.West = west; + mapImage.East = east; + mapImage.South = south; + mapImage.North = north; + mapImage.Source = image; + mapImage.BeginAnimation(Image.OpacityProperty, new DoubleAnimation(1d, Tile.AnimationDuration)); if (!imageIsValid) { @@ -175,10 +195,6 @@ namespace MapControl } })); } - catch (Exception ex) - { - Trace.TraceWarning("{0}: {1}", uri, ex.Message); - } updateInProgress = false; }); diff --git a/MapControl/MapPanel.cs b/MapControl/MapPanel.cs index 77f2ddba..a7e8dd38 100644 --- a/MapControl/MapPanel.cs +++ b/MapControl/MapPanel.cs @@ -24,7 +24,7 @@ namespace MapControl /// /// Positions child elements on a Map, at a position specified by the attached property Location. /// The Location is transformed into a viewport position by the MapBase.LocationToViewportPoint - /// method and then applied to the RenderTransform as an appropriate TranslateTransform. + /// method and applied to a child element's RenderTransform as an appropriate TranslateTransform. /// public partial class MapPanel : Panel, IMapElement { diff --git a/MapControl/Properties/AssemblyInfo.cs b/MapControl/Properties/AssemblyInfo.cs index f276af65..1c7eee3c 100644 --- a/MapControl/Properties/AssemblyInfo.cs +++ b/MapControl/Properties/AssemblyInfo.cs @@ -15,8 +15,8 @@ using System.Windows; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/MapControl/TileContainer.Silverlight.WinRT.cs b/MapControl/TileContainer.Silverlight.WinRT.cs index 9d35af90..816355a9 100644 --- a/MapControl/TileContainer.Silverlight.WinRT.cs +++ b/MapControl/TileContainer.Silverlight.WinRT.cs @@ -2,6 +2,7 @@ // Copyright © Clemens Fischer 2012-2013 // Licensed under the Microsoft Public License (Ms-PL) +using System; #if NETFX_CORE using Windows.Foundation; using Windows.UI.Xaml.Controls; @@ -16,21 +17,32 @@ namespace MapControl { internal partial class TileContainer : Panel { - private Matrix GetTransformMatrix(Matrix transform, double scale) + private void SetViewportTransform(Matrix transform) { - return transform + ViewportTransform.Matrix = transform.RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y); + } + + /// + /// Gets a transform matrix with origin at tileGrid.X and tileGrid.Y to minimize rounding errors. + /// + private Matrix GetTileLayerTransformMatrix() + { + var scale = Math.Pow(2d, zoomLevel - tileZoomLevel); + + return new Matrix(1d, 0d, 0d, 1d, tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize) .Scale(scale, scale) - .Translate(offset.X, offset.Y) - .RotateAt(rotation, origin.X, origin.Y); + .Translate(tileLayerOffset.X, tileLayerOffset.Y) + .RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y); } private Matrix GetTileIndexMatrix(int numTiles) { - var mapToTileScale = (double)numTiles / 360d; + var scale = (double)numTiles / 360d; + return ViewportTransform.Matrix .Invert() // view to map coordinates .Translate(180d, -180d) - .Scale(mapToTileScale, -mapToTileScale); // map coordinates to tile indices + .Scale(scale, -scale); // map coordinates to tile indices } protected override Size MeasureOverride(Size availableSize) diff --git a/MapControl/TileContainer.WPF.cs b/MapControl/TileContainer.WPF.cs index 64e9378c..b4afe68a 100644 --- a/MapControl/TileContainer.WPF.cs +++ b/MapControl/TileContainer.WPF.cs @@ -2,27 +2,43 @@ // Copyright © Clemens Fischer 2012-2013 // Licensed under the Microsoft Public License (Ms-PL) +using System; using System.Windows.Media; namespace MapControl { internal partial class TileContainer : ContainerVisual { - private Matrix GetTransformMatrix(Matrix transform, double scale) + private void SetViewportTransform(Matrix transform) { + transform.RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y); + ViewportTransform.Matrix = transform; + } + + /// + /// Gets a transform matrix with origin at tileGrid.X and tileGrid.Y to minimize rounding errors. + /// + private Matrix GetTileLayerTransformMatrix() + { + var scale = Math.Pow(2d, zoomLevel - tileZoomLevel); + var transform = new Matrix(1d, 0d, 0d, 1d, tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize); + transform.Scale(scale, scale); - transform.Translate(offset.X, offset.Y); - transform.RotateAt(rotation, origin.X, origin.Y); + transform.Translate(tileLayerOffset.X, tileLayerOffset.Y); + transform.RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y); + return transform; } private Matrix GetTileIndexMatrix(int numTiles) { - var mapToTileScale = (double)numTiles / 360d; + var scale = (double)numTiles / 360d; var transform = ViewportTransform.Matrix; + transform.Invert(); // view to map coordinates transform.Translate(180d, -180d); - transform.Scale(mapToTileScale, -mapToTileScale); // map coordinates to tile indices + transform.Scale(scale, -scale); // map coordinates to tile indices + return transform; } } diff --git a/MapControl/TileContainer.cs b/MapControl/TileContainer.cs index 965c2c25..ced0995e 100644 --- a/MapControl/TileContainer.cs +++ b/MapControl/TileContainer.cs @@ -24,9 +24,9 @@ namespace MapControl internal static TimeSpan UpdateInterval = TimeSpan.FromSeconds(0.5); private readonly DispatcherTimer updateTimer; - private Size size; - private Point origin; - private Point offset; + private Size viewportSize; + private Point viewportOrigin; + private Point tileLayerOffset; private double rotation; private double zoomLevel; private int tileZoomLevel; @@ -80,10 +80,10 @@ namespace MapControl Children.Clear(); } - public double SetViewportTransform(double mapZoomLevel, double mapRotation, Point mapOrigin, Point viewportOrigin, Size viewportSize) + public double SetViewportTransform(double mapZoomLevel, double mapRotation, Point mapOrigin, Point vpOrigin, Size vpSize) { var scale = Math.Pow(2d, zoomLevel) * TileSource.TileSize / 360d; - var oldMapOriginX = (origin.X - offset.X) / scale - 180d; + var oldMapOriginX = (viewportOrigin.X - tileLayerOffset.X) / scale - 180d; if (zoomLevel != mapZoomLevel) { @@ -92,15 +92,23 @@ namespace MapControl } rotation = mapRotation; - size = viewportSize; - origin = viewportOrigin; + viewportSize = vpSize; + viewportOrigin = vpOrigin; - offset.X = origin.X - (180d + mapOrigin.X) * scale; - offset.Y = origin.Y - (180d - mapOrigin.Y) * scale; + var transformOffsetX = viewportOrigin.X - mapOrigin.X * scale; + var transformOffsetY = viewportOrigin.Y + mapOrigin.Y * scale; - ViewportTransform.Matrix = GetTransformMatrix(new Matrix(1d, 0d, 0d, -1d, 180d, 180d), scale); + tileLayerOffset.X = transformOffsetX - 180d * scale; + tileLayerOffset.Y = transformOffsetY - 180d * scale; - if (Math.Sign(mapOrigin.X) == Math.Sign(oldMapOriginX)) + SetViewportTransform(new Matrix(scale, 0d, 0d, -scale, transformOffsetX, transformOffsetY)); + + if (Math.Sign(mapOrigin.X) != Math.Sign(oldMapOriginX) && Math.Abs(mapOrigin.X) > 90d) + { + // immediately handle map origin leap when map center moves across the date line + UpdateTiles(this, EventArgs.Empty); + } + else { var tileLayerTransform = GetTileLayerTransformMatrix(); @@ -111,25 +119,10 @@ namespace MapControl updateTimer.Start(); } - else - { - // immediately handle map origin leap when map center moves across the date line - UpdateTiles(this, EventArgs.Empty); - } return scale; } - private Matrix GetTileLayerTransformMatrix() - { - // Calculates the TileLayer VisualTransform or RenderTransform matrix - // with origin at tileGrid.X and tileGrid.Y to minimize rounding errors. - - return GetTransformMatrix( - new Matrix(1d, 0d, 0d, 1d, tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize), - Math.Pow(2d, zoomLevel - tileZoomLevel)); - } - private void UpdateTiles(object sender, object e) { updateTimer.Stop(); @@ -140,9 +133,9 @@ namespace MapControl // tile indices of visible rectangle var p1 = transform.Transform(new Point(0d, 0d)); - var p2 = transform.Transform(new Point(size.Width, 0d)); - var p3 = transform.Transform(new Point(0d, size.Height)); - var p4 = transform.Transform(new Point(size.Width, size.Height)); + var p2 = transform.Transform(new Point(viewportSize.Width, 0d)); + var p3 = transform.Transform(new Point(0d, viewportSize.Height)); + var p4 = transform.Transform(new Point(viewportSize.Width, viewportSize.Height)); var left = Math.Min(p1.X, Math.Min(p2.X, Math.Min(p3.X, p4.X))); var right = Math.Max(p1.X, Math.Max(p2.X, Math.Max(p3.X, p4.X))); diff --git a/MapControl/TileLayer.cs b/MapControl/TileLayer.cs index a81bba14..d923db5a 100644 --- a/MapControl/TileLayer.cs +++ b/MapControl/TileLayer.cs @@ -121,13 +121,10 @@ namespace MapControl for (var z = minZoomLevel; z <= maxZoomLevel; z++) { var tileSize = 1 << (zoomLevel - z); - var x1 = grid.X / tileSize; - var y1 = grid.Y / tileSize; + var x1 = (int)Math.Floor((double)grid.X / tileSize); // may be negative var x2 = (grid.X + grid.Width - 1) / tileSize; - var y2 = (grid.Y + grid.Height - 1) / tileSize; - - y1 = Math.Max(y1, 0); - y2 = Math.Min(y2, (1 << z) - 1); + var y1 = Math.Max(grid.Y / tileSize, 0); + var y2 = Math.Min((grid.Y + grid.Height - 1) / tileSize, (1 << z) - 1); for (var y = y1; y <= y2; y++) { diff --git a/MapControl/WinRT/Properties/AssemblyInfo.cs b/MapControl/WinRT/Properties/AssemblyInfo.cs index dd8d8c29..afdd02e5 100644 --- a/MapControl/WinRT/Properties/AssemblyInfo.cs +++ b/MapControl/WinRT/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SampleApps/SilverlightApplication.Web/Properties/AssemblyInfo.cs b/SampleApps/SilverlightApplication.Web/Properties/AssemblyInfo.cs index 37d31a26..0ce64bba 100644 --- a/SampleApps/SilverlightApplication.Web/Properties/AssemblyInfo.cs +++ b/SampleApps/SilverlightApplication.Web/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SampleApps/SilverlightApplication/Properties/AssemblyInfo.cs b/SampleApps/SilverlightApplication/Properties/AssemblyInfo.cs index 7c279f83..874b00f2 100644 --- a/SampleApps/SilverlightApplication/Properties/AssemblyInfo.cs +++ b/SampleApps/SilverlightApplication/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SampleApps/StoreApplication/Properties/AssemblyInfo.cs b/SampleApps/StoreApplication/Properties/AssemblyInfo.cs index b0eeb8ad..cd7f1cfd 100644 --- a/SampleApps/StoreApplication/Properties/AssemblyInfo.cs +++ b/SampleApps/StoreApplication/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SampleApps/SurfaceApplication/Properties/AssemblyInfo.cs b/SampleApps/SurfaceApplication/Properties/AssemblyInfo.cs index f7478f6e..e140800c 100644 --- a/SampleApps/SurfaceApplication/Properties/AssemblyInfo.cs +++ b/SampleApps/SurfaceApplication/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/SampleApps/WpfApplication/Properties/AssemblyInfo.cs b/SampleApps/WpfApplication/Properties/AssemblyInfo.cs index a7f649e8..8cb44272 100644 --- a/SampleApps/WpfApplication/Properties/AssemblyInfo.cs +++ b/SampleApps/WpfApplication/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyCompany("Clemens Fischer")] [assembly: AssemblyCopyright("Copyright © Clemens Fischer 2012-2013")] [assembly: AssemblyTrademark("")] -[assembly: AssemblyVersion("1.3.1")] -[assembly: AssemblyFileVersion("1.3.1")] +[assembly: AssemblyVersion("1.3.2")] +[assembly: AssemblyFileVersion("1.3.2")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)]