ParagraphBuilder constructor Null safety

ParagraphBuilder(
  1. ParagraphStyle style
)

Creates a new ParagraphBuilder object, which is used to create a Paragraph.

Implementation

@pragma('vm:entry-point')
ParagraphBuilder(ParagraphStyle style)
  : _defaultLeadingDistribution = style._leadingDistribution {
    List<String>? strutFontFamilies;
    final StrutStyle? strutStyle = style._strutStyle;
    final ByteData? encodedStrutStyle;
    if (strutStyle != null && strutStyle._enabled) {
      final String? fontFamily = strutStyle._fontFamily;
      strutFontFamilies = <String>[
        if (fontFamily != null) fontFamily,
        ...?strutStyle._fontFamilyFallback,
      ];

      assert(TextLeadingDistribution.values.length <= 2);
      final TextLeadingDistribution leadingDistribution = strutStyle._leadingDistribution
        ?? style._leadingDistribution;
      encodedStrutStyle = strutStyle._encoded;
      int bitmask = encodedStrutStyle.getInt8(0);
      bitmask |= (leadingDistribution.index) << 3;
      encodedStrutStyle.setInt8(0, bitmask);
    } else {
      encodedStrutStyle = null;
    }
    _constructor(
      style._encoded,
      encodedStrutStyle,
      style._fontFamily,
      strutFontFamilies,
      style._fontSize,
      style._height,
      style._ellipsis,
      _encodeLocale(style._locale)
    );
}