TextComponentStyle class Styling
Defines the visual style for a text component, including color, background, font styles, and spacing (padding/margin).
A TextComponentStyle encapsulates all styling information that determines how text is displayed in a terminal or canvas-based UI, using ANSI color codes and text formatting attributes.
Styling Options
- Foreground/Background Colors: Controlled by color and bgColor using AnsiColorType.
- Font Styles: Bold, italic, underline, strikethrough, etc., using FontStyle.
- Padding & Margin: Controlled via EdgeInsets for layout spacing.
Example
final style = TextComponentStyle(
color: Colors.red,
bgColor: ColorRGB(0, 0, 0),
styles: {FontStyle.bold, FontStyle.underline},
padding: EdgeInsets.all(1),
margin: EdgeInsets.symmetric(horizontal: 2),
);
final boldStyle = style.bold().foreground(Colors.blue);
See Also
- AnsiColorType for color definitions.
- FontStyle for text formatting.
- EdgeInsets for layout spacing.
Constructors
-
TextComponentStyle.new({AnsiColorType? color, AnsiColorType? bgColor, Set<
FontStyle> ? styles, EdgeInsets padding = const EdgeInsets.all(0), EdgeInsets margin = const EdgeInsets.all(0)}) -
Creates a TextComponentStyle with optional color, background color,
font styles, and padding/margin settings.
const
Properties
- bgColor → AnsiColorType?
-
The background text color.
final
- color → AnsiColorType?
-
The foreground text color.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- horizontalMargin → int
-
The total horizontal margin (left + right).
no setter
- horizontalPadding → int
-
The total horizontal padding (left + right).
no setter
- margin → EdgeInsets
-
The space outside the text boundaries.
final
- padding → EdgeInsets
-
The space inside the text boundaries.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
styles
→ Set<
FontStyle> -
The set of font styles (e.g., bold, italic, underline).
final
- verticalMargin → int
-
The total vertical margin (top + bottom).
no setter
- verticalPadding → int
-
The total vertical padding (top + bottom).
no setter
Methods
-
background(
AnsiColorType color) → TextComponentStyle - Returns a copy of this style with the given bgColor as the background color.
-
bold(
) → TextComponentStyle - Returns a copy of this style with bold text enabled.
-
copyWith(
{AnsiColorType? color, AnsiColorType? bgColor, Set< FontStyle> ? styles, EdgeInsets? padding, EdgeInsets? margin}) → TextComponentStyle - Returns a new TextComponentStyle with the given properties overridden.
-
foreground(
AnsiColorType color) → TextComponentStyle -
Returns a copy of this style with the given
color
as the foreground color. -
getStyleAnsi(
) → String - Builds and returns the ANSI style code string for this style.
-
italic(
) → TextComponentStyle - Returns a copy of this style with italic text enabled.
-
marginOnly(
{int top = 0, int right = 0, int bottom = 0, int left = 0}) → TextComponentStyle - Returns a copy of this style with updated margin values.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paddingOnly(
{int top = 0, int right = 0, int bottom = 0, int left = 0}) → TextComponentStyle - Returns a copy of this style with updated padding values.
-
strikethrough(
) → TextComponentStyle - Returns a copy of this style with strikethrough text enabled.
-
toString(
) → String -
A string representation of this object.
inherited
-
underline(
) → TextComponentStyle - Returns a copy of this style with underlined text enabled.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited