paintShape method

  1. @override
void paintShape(
  1. PdfGraphics canvas
)
override

Implementation

@override
void paintShape(PdfGraphics canvas) {
  if (brush.fill!.isNotEmpty) {
    brush.fill!.setFillColor(this, canvas);
    if (brush.fillOpacity! < 1) {
      canvas
        ..saveContext()
        ..setGraphicState(PdfGraphicState(opacity: brush.fillOpacity));
    }
    canvas
      ..drawShape(d)
      ..fillPath(evenOdd: brush.fillEvenOdd!);
    if (brush.fillOpacity! < 1) {
      canvas.restoreContext();
    }
  }

  if (brush.stroke!.isNotEmpty) {
    brush.stroke!.setStrokeColor(this, canvas);
    if (brush.strokeOpacity! < 1) {
      canvas.setGraphicState(PdfGraphicState(opacity: brush.strokeOpacity));
    }
    canvas
      ..drawShape(d)
      ..setLineCap(brush.strokeLineCap!)
      ..setLineJoin(brush.strokeLineJoin!)
      ..setMiterLimit(math.max(1.0, brush.strokeMiterLimit!))
      ..setLineDashPattern(
          brush.strokeDashArray!, brush.strokeDashOffset!.toInt())
      ..setLineWidth(brush.strokeWidth!.sizeValue)
      ..strokePath();
  }
}