paintShape method
Implementation
@override
void paintShape(PdfGraphics canvas) {
canvas
..saveContext()
..setTransform(Matrix4.identity()
..scale(1.0, -1.0)
..translate(x, -y!));
if (brush.fill!.isNotEmpty) {
brush.fill!.setFillColor(this, canvas);
if (brush.fillOpacity! < 1) {
canvas
..saveContext()
..setGraphicState(PdfGraphicState(opacity: brush.fillOpacity));
}
canvas.drawString(font, brush.fontSize!.sizeValue, text, 0, 0);
if (brush.fillOpacity! < 1) {
canvas.restoreContext();
}
}
if (brush.stroke!.isNotEmpty) {
if (brush.strokeWidth != null) {
canvas.setLineWidth(brush.strokeWidth!.sizeValue);
}
if (brush.strokeDashArray != null) {
canvas.setLineDashPattern(brush.strokeDashArray!);
}
if (brush.strokeOpacity! < 1) {
canvas.setGraphicState(PdfGraphicState(opacity: brush.strokeOpacity));
}
brush.stroke!.setStrokeColor(this, canvas);
canvas.drawString(font, brush.fontSize!.sizeValue, text, 0, 0,
mode: PdfTextRenderingMode.stroke);
}
canvas.restoreContext();
for (final span in tspan) {
span.paint(canvas);
}
}