/
AffineTransformBuilderTests.cs
71 lines (52 loc) · 3.39 KB
/
AffineTransformBuilderTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System.Numerics;
using SixLabors.ImageSharp.Processing;
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
public class AffineTransformBuilderTests : TransformBuilderTestBase<AffineTransformBuilder>
{
protected override AffineTransformBuilder CreateBuilder()
=> new AffineTransformBuilder();
protected override void AppendRotationDegrees(AffineTransformBuilder builder, float degrees)
=> builder.AppendRotationDegrees(degrees);
protected override void AppendRotationDegrees(AffineTransformBuilder builder, float degrees, Vector2 origin)
=> builder.AppendRotationDegrees(degrees, origin);
protected override void AppendRotationRadians(AffineTransformBuilder builder, float radians)
=> builder.AppendRotationRadians(radians);
protected override void AppendRotationRadians(AffineTransformBuilder builder, float radians, Vector2 origin)
=> builder.AppendRotationRadians(radians, origin);
protected override void AppendScale(AffineTransformBuilder builder, SizeF scale)
=> builder.AppendScale(scale);
protected override void AppendSkewDegrees(AffineTransformBuilder builder, float degreesX, float degreesY)
=> builder.AppendSkewDegrees(degreesX, degreesY);
protected override void AppendSkewDegrees(AffineTransformBuilder builder, float degreesX, float degreesY, Vector2 origin)
=> builder.AppendSkewDegrees(degreesX, degreesY, origin);
protected override void AppendSkewRadians(AffineTransformBuilder builder, float radiansX, float radiansY)
=> builder.AppendSkewRadians(radiansX, radiansY);
protected override void AppendSkewRadians(AffineTransformBuilder builder, float radiansX, float radiansY, Vector2 origin)
=> builder.AppendSkewRadians(radiansX, radiansY, origin);
protected override void AppendTranslation(AffineTransformBuilder builder, PointF translate)
=> builder.AppendTranslation(translate);
protected override void PrependRotationRadians(AffineTransformBuilder builder, float radians)
=> builder.PrependRotationRadians(radians);
protected override void PrependRotationRadians(AffineTransformBuilder builder, float radians, Vector2 origin)
=> builder.PrependRotationRadians(radians, origin);
protected override void PrependScale(AffineTransformBuilder builder, SizeF scale)
=> builder.PrependScale(scale);
protected override void PrependSkewRadians(AffineTransformBuilder builder, float radiansX, float radiansY)
=> builder.PrependSkewRadians(radiansX, radiansY);
protected override void PrependSkewRadians(AffineTransformBuilder builder, float radiansX, float radiansY, Vector2 origin)
=> builder.PrependSkewRadians(radiansX, radiansY, origin);
protected override void PrependTranslation(AffineTransformBuilder builder, PointF translate)
=> builder.PrependTranslation(translate);
protected override Vector2 Execute(
AffineTransformBuilder builder,
Rectangle rectangle,
Vector2 sourcePoint)
{
Matrix3x2 matrix = builder.BuildMatrix(rectangle);
return Vector2.Transform(sourcePoint, matrix);
}
}
}