buildTextSpanForProp static method

TextSpan buildTextSpanForProp(
  1. BuildContext? context,
  2. String rawText, {
  3. required BaseNode? node,
  4. required TextProp prop,
  5. required TapGestureRecognizer? tapGestureRecognizer,
  6. required List<VariableData> variablesOverrides,
  7. required NullSubstitutionMode nullSubstitutionMode,
  8. required bool replaceVariableWithSymbol,
  9. bool hasMissingFont = false,
  10. List<Effect>? effects,
})

Implementation

static TextSpan buildTextSpanForProp(
  BuildContext? context,
  String rawText, {
  required BaseNode? node,
  required TextProp prop,
  required TapGestureRecognizer? tapGestureRecognizer,
  required List<VariableData> variablesOverrides,
  required NullSubstitutionMode nullSubstitutionMode,
  required bool replaceVariableWithSymbol,
  bool hasMissingFont = false,
  List<Effect>? effects,
}) {
  String characters = rawText;

  // Get substring from the raw text for the given start and end positions.
  if (prop is StartEndProp) {
    characters = rawText.substring(prop.start, prop.end);
  }

  return buildTextSpan(
    context,
    characters,
    node: node,
    color: retrievePropColor(prop),
    fontSize: prop.fontSize,
    letterSpacing: prop.letterSpacing,
    fontName: prop.fontName,
    lineHeight: prop.lineHeight,
    textDecoration: prop.textDecoration,
    effects: effects ?? (node is BlendMixin ? node.effects : const []),
    variablesOverrides: variablesOverrides,
    nullSubstitutionMode: nullSubstitutionMode,
    replaceVariableWithSymbol: replaceVariableWithSymbol,
    hasMissingFont: hasMissingFont,
    tapGestureRecognizer: tapGestureRecognizer,
  );
}