build method

  1. @override
void build(
  1. PdfPage page,
  2. PdfObject<PdfDataType> object,
  3. PdfDict<PdfDataType> params
)
override

Writes the widget appearance and field parameters.

Implementation

@override
/// Writes the widget appearance and field parameters.
void build(PdfPage page, PdfObject object, PdfDict params) {
  super.build(page, object, params);
  // What is /F?
  //params[PdfNameTokens.f] = const PdfNum(4);
  params[PdfNameTokens.ff] = PdfNum(fieldFlagsValue);
  params[PdfNameTokens.opt] =
      PdfArray<PdfString>(items.map((e) => PdfString.fromString(e)).toList());

  if (defaultValue != null) {
    params[PdfNameTokens.dv] = PdfString.fromString(defaultValue!);
  }

  if (value != null) {
    params[PdfNameTokens.v] = PdfString.fromString(value!);
  } else {
    params[PdfNameTokens.v] = const PdfNull();
  }

  final buf = PdfStream();
  final g = PdfGraphics(page, buf);
  g.setFillColor(textColor);
  g.setFont(font, fontSize);

  params[PdfNameTokens.da] = PdfString.fromStream(buf);

  // What is /TU? Tooltip?
  //params[PdfNameTokens.tu] = PdfString.fromString('Select from list');
}