prepare method

  1. @override
void prepare()

Prepare the object to be written to the stream

Implementation

@override
void prepare() {
  super.prepare();

  params[PdfNameTokens.shadingtype] = PdfNum(shadingType.index + 2);
  if (boundingBox != null) {
    params[PdfNameTokens.bbox] = PdfArray.fromNum([
      boundingBox!.left,
      boundingBox!.bottom,
      boundingBox!.right,
      boundingBox!.top,
    ]);
  }
  params[PdfNameTokens.antialias] = const PdfBool(true);
  params[PdfNameTokens.colorSpace] = const PdfName(PdfNameTokens.deviceRgb);

  if (shadingType == PdfShadingType.axial) {
    params[PdfNameTokens.coords] = PdfArray.fromNum([start.x, start.y, end.x, end.y]);
  } else if (shadingType == PdfShadingType.radial) {
    assert(radius0 != null);
    assert(radius1 != null);
    params[PdfNameTokens.coords] = PdfArray.fromNum(
        [start.x, start.y, radius0!, end.x, end.y, radius1!]);
  }
  // params[PdfNameTokens.domain] = PdfArray.fromNum(<num>[0, 1]);
  if (extendStart || extendEnd) {
    params[PdfNameTokens.extend] =
        PdfArray(<PdfBool>[PdfBool(extendStart), PdfBool(extendEnd)]);
  }
  params[PdfNameTokens.function] = function.ref();
}