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.axial,
function: PdfBaseFunction.colorsAndStops(
op.painter.document,
colors,
stops,
),
start: PdfPoint(x1 ?? 0, y1 ?? 0),
end: PdfPoint(x2 ?? 1, y2 ?? 0),
extendStart: true,
extendEnd: true,
),
matrix: mat,
);
}