of static method
Returns the nearest TooltipTheme.
Implementation
static TooltipThemeData of(BuildContext context) {
final TooltipTheme? tooltipTheme =
context.dependOnInheritedWidgetOfExactType<TooltipTheme>();
TooltipThemeData? tooltipThemeData = tooltipTheme?.data;
if (tooltipThemeData == null || !tooltipThemeData._isConcrete) {
final ThemeData themeData = Theme.of(context).invertedTheme;
final TextTheme textTheme = themeData.textTheme;
final ColorScheme colorScheme = themeData.colorScheme;
tooltipThemeData ??= themeData.tooltipTheme;
final tooltipValue =
_TooltipThemeData(textTheme: textTheme, colorScheme: colorScheme);
final double height = tooltipThemeData.height ?? tooltipValue.height;
final double maxWidth =
tooltipThemeData.maxWidth ?? tooltipValue.maxWidth;
final double verticalOffset =
tooltipThemeData.verticalOffset ?? tooltipValue.verticalOffset;
final Color backgroundColor =
tooltipThemeData.backgroundColor ?? tooltipValue.backgroundColor;
final TextStyle textStyle =
tooltipThemeData.textStyle ?? tooltipValue.textStyle;
final EdgeInsetsGeometry padding =
tooltipThemeData.padding ?? tooltipValue.padding;
final EdgeInsetsGeometry margin =
tooltipThemeData.margin ?? tooltipValue.margin;
final Duration showDuration =
tooltipThemeData.showDuration ?? tooltipValue.showDuration;
final Duration waitDuration =
tooltipThemeData.waitDuration ?? tooltipValue.waitDuration;
return tooltipThemeData.copyWith(
height: height,
maxWidth: maxWidth,
verticalOffset: verticalOffset,
backgroundColor: backgroundColor,
textStyle: textStyle,
padding: padding,
margin: margin,
showDuration: showDuration,
waitDuration: waitDuration,
);
}
assert(tooltipThemeData._isConcrete);
return tooltipThemeData;
}