positionCanvasToDrawContent method
Translates and rotates the canvas such that the top-left corner of the content is drawn at the desired location on the screen, and that content is angled 45 degrees in the appropriate direction for this banner position.
Implementation
void positionCanvasToDrawContent(
Canvas canvas, Offset paintingOffset, Size contentSize) {
final contentOrigin = _calculateContentOrigin(paintingOffset, contentSize);
switch (_corner) {
case _Corner.topLeft:
canvas
..translate(contentOrigin.dx, contentOrigin.dy)
..rotate(-pi / 4);
break;
case _Corner.topRight:
canvas
..translate(contentOrigin.dx, contentOrigin.dy)
..rotate(pi / 4);
break;
case _Corner.bottomLeft:
canvas
..translate(contentOrigin.dx, contentOrigin.dy)
..rotate(pi / 4);
break;
case _Corner.bottomRight:
canvas
..translate(contentOrigin.dx, contentOrigin.dy)
..rotate(-pi / 4);
break;
}
}