Browse Source

Fix skew matrix function's flipped axes + update tests.

pull/1446/head
Jumar Macato 9 years ago
parent
commit
fc06fa1e35
  1. 2
      src/Avalonia.Visuals/Matrix.cs
  2. 13
      tests/Avalonia.Controls.UnitTests/LayoutTransformControlTests.cs

2
src/Avalonia.Visuals/Matrix.cs

@ -160,7 +160,7 @@ namespace Avalonia
{
double tanX = Math.Tan(xAngle);
double tanY = Math.Tan(yAngle);
return new Matrix(1.0, tanX, tanY, 1.0, 0.0, 0.0);
return new Matrix(1.0, tanY, tanX, 1.0, 0.0, 0.0);
}
/// <summary>

13
tests/Avalonia.Controls.UnitTests/LayoutTransformControlTests.cs

@ -36,7 +36,8 @@ namespace Avalonia.Controls.UnitTests
TransformMeasureSizeTest(
new Size(100, 100),
new SkewTransform() { AngleX = 45 },
new Size(100, 200));
new Size(200, 100));
}
[Fact]
@ -45,7 +46,7 @@ namespace Avalonia.Controls.UnitTests
TransformMeasureSizeTest(
new Size(100, 100),
new SkewTransform() { AngleY = 45 },
new Size(200, 100));
new Size(100, 200));
}
[Fact]
@ -54,7 +55,7 @@ namespace Avalonia.Controls.UnitTests
TransformMeasureSizeTest(
new Size(100, 100),
new SkewTransform() { AngleX = -45 },
new Size(100, 200));
new Size(200, 100));
}
[Fact]
@ -63,7 +64,7 @@ namespace Avalonia.Controls.UnitTests
TransformMeasureSizeTest(
new Size(100, 100),
new SkewTransform() { AngleY = -45 },
new Size(200, 100));
new Size(100, 200));
}
[Fact]
@ -168,7 +169,7 @@ namespace Avalonia.Controls.UnitTests
new RotateTransform() { Angle = -90 },
new Rect(0, 100, 100, 25));
}
[Fact]
public void Should_Generate_RotateTransform_90_degrees()
{
@ -278,8 +279,6 @@ namespace Avalonia.Controls.UnitTests
Assert.Equal(m.M32, res.M32, 3);
}
private static void TransformMeasureSizeTest(Size size, Transform transform, Size expectedSize)
{
LayoutTransformControl lt = CreateWithChildAndMeasureAndTransform(

Loading…
Cancel
Save