textAlign property

  1. @override
TextAlign get textAlign
override

Implementation

@override
TextAlign get textAlign {
  // CSS 'text-align' is inherited via the DOM parent chain. Prefer the DOM
  // parent’s renderStyle so out-of-flow render reparenting does not change
  // inheritance semantics.
  if (_textAlign != null) return _textAlign!;
  final dom.Element? domParent = target.parentElement;
  if (_cachedInheritedTextAlign != null &&
      identical(_cachedInheritedTextAlignParent, domParent)) {
    return _cachedInheritedTextAlign!;
  }
  final TextAlign resolved;
  if (domParent != null) {
    resolved = domParent.renderStyle.textAlign;
  } else {
    final RenderStyle? renderParent = parent;
    resolved = renderParent?.textAlign ?? TextAlign.start;
  }
  _cachedInheritedTextAlignParent = domParent;
  _cachedInheritedTextAlign = resolved;
  return resolved;
}
set textAlign (TextAlign? value)

Implementation

set textAlign(TextAlign? value) {
  if (_textAlign == value) return;
  _textAlign = value;
  resetInheritedTextCaches();
  _resetInheritedTextCacheForDescendants(TEXT_ALIGN);
  // Update all the children flow layout with specified style property not set due to style inheritance.
  _markNestFlowLayoutNeedsLayout(this, TEXT_ALIGN);
}