diff --git a/MapControl/Extensions.Silverlight.cs b/MapControl/Extensions.Silverlight.cs
index d3475f7b..0da06791 100644
--- a/MapControl/Extensions.Silverlight.cs
+++ b/MapControl/Extensions.Silverlight.cs
@@ -7,7 +7,7 @@ using System.Windows.Media.Animation;
namespace MapControl
{
- internal static partial class Extensions
+ internal static class Extensions
{
public static void BeginAnimation(this DependencyObject obj, DependencyProperty property, Timeline animation)
{
diff --git a/MapControl/Extensions.WinRT.cs b/MapControl/Extensions.WinRT.cs
index a3e619f9..cdc02ee1 100644
--- a/MapControl/Extensions.WinRT.cs
+++ b/MapControl/Extensions.WinRT.cs
@@ -11,7 +11,7 @@ using Windows.UI.Xaml.Media.Animation;
namespace MapControl
{
- internal static partial class Extensions
+ internal static class Extensions
{
public static void BeginInvoke(this CoreDispatcher dispatcher, Action action)
{
diff --git a/MapControl/MapControl.PhoneSilverlight.csproj b/MapControl/MapControl.PhoneSilverlight.csproj
index a2455929..958a2856 100644
--- a/MapControl/MapControl.PhoneSilverlight.csproj
+++ b/MapControl/MapControl.PhoneSilverlight.csproj
@@ -44,7 +44,6 @@
-
@@ -74,6 +73,7 @@
+
diff --git a/MapControl/MapControl.PhoneSilverlight.csproj.user b/MapControl/MapControl.PhoneSilverlight.csproj.user
new file mode 100644
index 00000000..d3122c8a
--- /dev/null
+++ b/MapControl/MapControl.PhoneSilverlight.csproj.user
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ True
+ Managed
+ Managed
+ False
+
+
+
+
+
\ No newline at end of file
diff --git a/MapControl/MapControl.Silverlight.csproj b/MapControl/MapControl.Silverlight.csproj
index 142a599b..ed73399e 100644
--- a/MapControl/MapControl.Silverlight.csproj
+++ b/MapControl/MapControl.Silverlight.csproj
@@ -71,11 +71,8 @@
-
-
- Code
-
+
@@ -103,6 +100,7 @@
+
diff --git a/MapControl/Extensions.Silverlight.WinRT.cs b/MapControl/MatrixEx.cs
similarity index 98%
rename from MapControl/Extensions.Silverlight.WinRT.cs
rename to MapControl/MatrixEx.cs
index f121b376..388d50bb 100644
--- a/MapControl/Extensions.Silverlight.WinRT.cs
+++ b/MapControl/MatrixEx.cs
@@ -11,7 +11,7 @@ using System.Windows.Media;
namespace MapControl
{
- internal static partial class Extensions
+ internal static class MatrixEx
{
public static Matrix Translate(this Matrix matrix, double offsetX, double offsetY)
{
diff --git a/MapControl/TileContainer.Silverlight.WinRT.cs b/MapControl/TileContainer.Silverlight.WinRT.cs
index 5f651356..30270c8f 100644
--- a/MapControl/TileContainer.Silverlight.WinRT.cs
+++ b/MapControl/TileContainer.Silverlight.WinRT.cs
@@ -25,8 +25,8 @@ namespace MapControl
private void UpdateViewportTransform(double scale, Point mapOrigin)
{
- ViewportTransform.Matrix =
- new Matrix(1d, 0d, 0d, 1d, -mapOrigin.X, -mapOrigin.Y)
+ ViewportTransform.Matrix = Matrix.Identity
+ .Translate(-mapOrigin.X, -mapOrigin.Y)
.Scale(scale, -scale)
.Rotate(rotation)
.Translate(viewportOrigin.X, viewportOrigin.Y);
@@ -39,8 +39,8 @@ namespace MapControl
{
var scale = Math.Pow(2d, zoomLevel - tileZoomLevel);
- ((MatrixTransform)RenderTransform).Matrix =
- new Matrix(1d, 0d, 0d, 1d, tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize)
+ ((MatrixTransform)RenderTransform).Matrix = Matrix.Identity
+ .Translate(tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize)
.Scale(scale, scale)
.Translate(tileLayerOffset.X, tileLayerOffset.Y)
.RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y);
diff --git a/MapControl/TileContainer.WPF.cs b/MapControl/TileContainer.WPF.cs
index a72dc78d..f02a68d4 100644
--- a/MapControl/TileContainer.WPF.cs
+++ b/MapControl/TileContainer.WPF.cs
@@ -22,7 +22,8 @@ namespace MapControl
private void UpdateViewportTransform(double scale, Point mapOrigin)
{
- var transform = new Matrix(1d, 0d, 0d, 1d, -mapOrigin.X, -mapOrigin.Y);
+ var transform = Matrix.Identity;
+ transform.Translate(-mapOrigin.X, -mapOrigin.Y);
transform.Scale(scale, -scale);
transform.Rotate(rotation);
transform.Translate(viewportOrigin.X, viewportOrigin.Y);
@@ -36,7 +37,8 @@ namespace MapControl
private void UpdateRenderTransform()
{
var scale = Math.Pow(2d, zoomLevel - tileZoomLevel);
- var transform = new Matrix(1d, 0d, 0d, 1d, tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize);
+ var transform = Matrix.Identity;
+ transform.Translate(tileGrid.X * TileSource.TileSize, tileGrid.Y * TileSource.TileSize);
transform.Scale(scale, scale);
transform.Translate(tileLayerOffset.X, tileLayerOffset.Y);
transform.RotateAt(rotation, viewportOrigin.X, viewportOrigin.Y);
diff --git a/MapControl/WinRT/MapControl.WinRT.csproj b/MapControl/WinRT/MapControl.WinRT.csproj
index 21a860df..bc5a2c6a 100644
--- a/MapControl/WinRT/MapControl.WinRT.csproj
+++ b/MapControl/WinRT/MapControl.WinRT.csproj
@@ -42,9 +42,6 @@
BingMapsTileSource.cs
-
- Extensions.Silverlight.WinRT.cs
-
Extensions.WinRT.cs
@@ -135,6 +132,9 @@
MapTransform.cs
+
+ MatrixEx.cs
+
MercatorTransform.cs