applyPaintRotationTransformation function
Implementation
Offset applyPaintRotationTransformation(Offset point, EditImageProvider editImageProvider) {
double angleInRadians = editImageProvider.state.rotationAngle;
double width = editImageProvider.state.width;
double height = editImageProvider.state.height;
double left = editImageProvider.state.left;
double top = editImageProvider.state.top;
if(radiansToDegrees(angleInRadians) == 0){
return Offset(
point.dx - (getScreenWidth() - width)/2 + left,
point.dy - (getScreenHeight() - height)/2 + top
);
}else if(radiansToDegrees(angleInRadians) == 90){
return Offset(
point.dy - (getScreenHeight() - width)/2 + left,
height - (point.dx - (getScreenWidth()-height)/2) + top
);
}else if(radiansToDegrees(angleInRadians) == 270){
return Offset(
width - (point.dy - (getScreenHeight() - width)/2) + left,
point.dx - (getScreenWidth() - height)/2 + top
);
}else if(radiansToDegrees(angleInRadians) == 180){
return Offset(
width - (point.dx - (getScreenWidth()-width)/2) + left,
height - (point.dy - (getScreenHeight() - height)/2 ) + top
);
}
return point;
}