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 tanX = Math.Tan(xAngle);
double tanY = Math.Tan(yAngle); 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> /// <summary>

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

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

Loading…
Cancel
Save