rotateLayer method
void
rotateLayer({})
Rotate a layer.
This method rotates a layer based on various factors, including flip and angle.
Implementation
void rotateLayer({
required Layer layer,
required bool beforeIsFlipX,
required double newImgW,
required double newImgH,
required double rotationScale,
required double rotationRadian,
required double rotationAngle,
}) {
if (beforeIsFlipX) {
layer.rotation -= rotationRadian;
} else {
layer.rotation += rotationRadian;
}
if (rotationAngle == 90) {
layer.scale /= rotationScale;
layer.offset = Offset(
newImgW - layer.offset.dy / rotationScale,
layer.offset.dx / rotationScale,
);
} else if (rotationAngle == 180) {
layer.offset = Offset(
newImgW - layer.offset.dx,
newImgH - layer.offset.dy,
);
} else if (rotationAngle == 270) {
layer.scale /= rotationScale;
layer.offset = Offset(
layer.offset.dy / rotationScale,
newImgH - layer.offset.dx / rotationScale,
);
}
}