cssFromBuildContext method

void cssFromBuildContext(
  1. CssStyleDeclaration cssStyle,
  2. BuildContext context
)

Sets CSS properties based on Flutter style.

Implementation

void cssFromBuildContext(
    html.CssStyleDeclaration cssStyle, BuildContext context) {
  // Use style information from DefaultTextStyle

  final defaultTextStyle =
      context.dependOnInheritedWidgetOfExactType<DefaultTextStyle>();
  if (defaultTextStyle != null) {
    cssFromTextStyle(cssStyle, defaultTextStyle.style);
  }

  // Use style information from Scaffold
  ScaffoldState? scaffoldState;
  try {
    scaffoldState = Scaffold.of(context);
  } catch (e) {
    // Ignore
  }
  if (scaffoldState != null) {
    if (cssStyle.backgroundColor == '') {
      cssStyle.backgroundColor = cssColor(
        scaffoldState.widget.backgroundColor,
      );
    }
  }

  // Use style information from CupertinoTheme
  final cupertinoThemeData = CupertinoTheme.of(context);
  if (!identical(cupertinoThemeData, const CupertinoThemeData())) {
    cssFromCupertinoThemeData(cssStyle, CupertinoTheme.of(context));
  }

  // Use style information from Theme
  cssFromThemeData(cssStyle, Theme.of(context));
}