setClip method
Sets the clipping region of this Graphics to the result of the specified operation combining the current clip region and the rectangle specified by a RectangleF structure.
//Creates a new PDF document.
PdfDocument doc = PdfDocument();
//Create PDF graphics for the page
doc.pages.add().graphics
//set clip.
..setClip(bounds: Rect.fromLTWH(0, 0, 50, 12), mode: PdfFillMode.alternate)
..drawString('Hello world!', PdfStandardFont(PdfFontFamily.helvetica, 12),
pen: PdfPens.red);
//Saves the document.
List<int> bytes = doc.save();
//Dispose the document.
doc.dispose();
Implementation
void setClip({Rect? bounds, PdfPath? path, PdfFillMode? mode}) {
if (bounds != null) {
mode ??= PdfFillMode.winding;
_helper.streamWriter!.appendRectangle(
bounds.left, bounds.top, bounds.width, bounds.height);
_helper.streamWriter!.clipPath(mode == PdfFillMode.alternate);
} else if (path != null) {
mode ??= PdfPathHelper.getHelper(path).fillMode;
_buildUpPath(PdfPathHelper.getHelper(path).points,
PdfPathHelper.getHelper(path).pathTypes);
_helper.streamWriter!.clipPath(mode == PdfFillMode.alternate);
}
}