of static method
Returns the nearest ScrollbarTheme.
Implementation
static ScrollbarThemeData of(BuildContext context) {
final ScrollbarTheme? scrollbarTheme =
context.dependOnInheritedWidgetOfExactType<ScrollbarTheme>();
ScrollbarThemeData? scrollbarThemeData = scrollbarTheme?.data;
if (scrollbarThemeData == null || !scrollbarThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context);
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
scrollbarThemeData ??= themeData.scrollbarTheme;
final scrollbarValue =
_ScrollbarThemeData(textTheme: textTheme, colorScheme: colorScheme);
final Color disabledColor =
scrollbarThemeData.disabledColor ?? scrollbarValue.disabledColor;
final Color color = scrollbarThemeData.color ?? scrollbarValue.color;
final Color hoverColor =
scrollbarThemeData.hoverColor ?? scrollbarValue.hoverColor;
final Color highlightColor =
scrollbarThemeData.highlightColor ?? scrollbarValue.highlightColor;
final Color inhoverColor =
scrollbarThemeData.inhoverColor ?? scrollbarValue.inhoverColor;
final Color foreground =
scrollbarThemeData.foreground ?? scrollbarValue.foreground;
final Color trackColor =
scrollbarThemeData.trackColor ?? scrollbarValue.trackColor;
return scrollbarThemeData.copyWith(
disabledColor: disabledColor,
color: color,
hoverColor: hoverColor,
highlightColor: highlightColor,
inhoverColor: inhoverColor,
foreground: foreground,
trackColor: trackColor,
);
}
assert(scrollbarThemeData._isConcrete);
return scrollbarThemeData;
}