TxTextSpriteBlock constructor

TxTextSpriteBlock({
  1. required int width,
  2. required int fontSize,
  3. required int maxDisplayRows,
  4. String? fontFamily,
  5. TextAlign textAlign = ui.TextAlign.left,
  6. TextDirection textDirection = ui.TextDirection.ltr,
  7. required String text,
})

Implementation

TxTextSpriteBlock({
    required int width,
    required int fontSize,
    required int maxDisplayRows,
    String? fontFamily,
    ui.TextAlign textAlign = ui.TextAlign.left,
    ui.TextDirection textDirection = ui.TextDirection.ltr,
    required String text})
    : _width = width,
      _fontSize = fontSize,
      _maxDisplayRows = maxDisplayRows {
  final paragraphBuilder = ui.ParagraphBuilder(ui.ParagraphStyle(
    textAlign: textAlign,
    textDirection: textDirection,
    fontFamily: fontFamily, // gets platform default if null
    fontSize: _fontSize.toDouble(), // Adjust font size as needed
  ));

  paragraphBuilder.addText(text);
  _paragraph = paragraphBuilder.build();

  _paragraph.layout(ui.ParagraphConstraints(width: width.toDouble()));

  // work out height using metrics after paragraph.layout() call
  _lineMetrics = _paragraph.computeLineMetrics();
}