RSTransform.fromComponents constructor
Creates an RSTransform from its individual components.
The rotation
parameter gives the rotation in radians.
The scale
parameter describes the uniform scale factor.
The anchorX
and anchorY
parameters give the coordinate of the point
around which to rotate.
The translateX
and translateY
parameters give the coordinate of the
offset by which to translate.
This constructor computes the arguments of the RSTransform.new constructor and then defers to that constructor to actually create the object. If many RSTransform objects are being created and there is a way to factor out the computations of the sine and cosine of the rotation (which are computed each time this constructor is called) and reuse them over multiple RSTransform objects, it may be more efficient to directly use the more direct RSTransform.new constructor instead.
Implementation
factory RSTransform.fromComponents({
required double rotation,
required double scale,
required double anchorX,
required double anchorY,
required double translateX,
required double translateY
}) {
final double scos = math.cos(rotation) * scale;
final double ssin = math.sin(rotation) * scale;
final double tx = translateX + -scos * anchorX + ssin * anchorY;
final double ty = translateY + -ssin * anchorX - scos * anchorY;
return RSTransform(scos, ssin, tx, ty);
}