resolveRect method
Area taken up by the stamp, in "top-left" coordinates.
Implementation
PdfTopLeftRect resolveRect(
PdfCoordinateTransformer transformer,
PdfPoint size,
) {
final origin = position;
if (origin != null) {
return PdfTopLeftRect(origin.x, origin.y, size.x, size.y);
}
final available = PdfPoint(
transformer.displayWidth,
transformer.displayHeight,
);
final double left;
switch (anchor) {
case PdfStampAnchor.topLeft:
case PdfStampAnchor.centerLeft:
case PdfStampAnchor.bottomLeft:
left = marginX;
case PdfStampAnchor.topCenter:
case PdfStampAnchor.center:
case PdfStampAnchor.bottomCenter:
left = (available.x - size.x) / 2;
case PdfStampAnchor.topRight:
case PdfStampAnchor.centerRight:
case PdfStampAnchor.bottomRight:
left = available.x - size.x - marginX;
}
final double top;
switch (anchor) {
case PdfStampAnchor.topLeft:
case PdfStampAnchor.topCenter:
case PdfStampAnchor.topRight:
top = marginY;
case PdfStampAnchor.centerLeft:
case PdfStampAnchor.center:
case PdfStampAnchor.centerRight:
top = (available.y - size.y) / 2;
case PdfStampAnchor.bottomLeft:
case PdfStampAnchor.bottomCenter:
case PdfStampAnchor.bottomRight:
top = available.y - size.y - marginY;
}
return PdfTopLeftRect(left, top, size.x, size.y);
}