buildGradient method
Implementation
@override
PdfPattern buildGradient(
SvgOperation op, PdfGraphics canvas, List<PdfColor?> colors) {
final mat = canvas.getTransform();
if (gradientUnits != GradientUnits.userSpaceOnUse) {
final bb = op.boundingBox();
mat
..translate(bb.x, bb.y)
..scale(bb.width, bb.height);
}
if (transform.isNotEmpty) {
mat.multiply(transform.matrix!);
}
return PdfShadingPattern(
op.painter.document,
shading: PdfShading(
op.painter.document,
shadingType: PdfShadingType.radial,
function: PdfBaseFunction.colorsAndStops(
op.painter.document,
colors,
stops,
),
start: PdfPoint(fx ?? cx ?? .5, fy ?? cy ?? .5),
end: PdfPoint(cx ?? .5, cy ?? .5),
radius0: fr ?? 0,
radius1: r ?? .5,
extendStart: true,
extendEnd: true,
),
matrix: mat,
);
}