drawText method
Implementation
@override
void drawText(PdfTextRun run) {
if (run.invisible) return;
final glyphs = run.glyphs;
if (!stripsActive ||
delegateText ||
glyphs == null ||
!run.fill ||
run.strokeColor != null ||
run.gradient != null) {
// substituted-font runs, stroked/gradient text, knockout/blended runs
_delegatePaint(() => delegateDrawText(run));
return;
}
if (!binningEnabled) return;
final color = stripArgbColor(run.color, 1);
for (final glyph in glyphs) {
final outline = glyph.outline;
if (outline == null) continue;
final emToDevice = PdfMatrix.translation(glyph.offset, glyph.offsetY)
.concat(run.transform)
.concat(pageToDevice);
generator.fillOutline(FlattenedOutline.of(outline), emToDevice, color);
}
}