MacosTooltipThemeData.standard constructor

MacosTooltipThemeData.standard({
  1. required Brightness brightness,
  2. required TextStyle textStyle,
})

Creates a default tooltip theme.

textStyle is usually MacosTypography.callout

Implementation

factory MacosTooltipThemeData.standard({
  required Brightness brightness,
  required TextStyle textStyle,
}) {
  return MacosTooltipThemeData(
    height: 20.0,
    verticalOffset: 18.0,
    preferBelow: true,
    margin: EdgeInsets.zero,
    padding: const EdgeInsets.symmetric(horizontal: 6.0),
    waitDuration: const Duration(seconds: 1),
    showDuration: const Duration(seconds: 10),
    textStyle: textStyle.copyWith(
      color:
          brightness.isDark ? CupertinoColors.white : CupertinoColors.black,
    ),
    decoration: () {
      final radius = BorderRadius.circular(2.0);
      final shadow = [
        BoxShadow(
          color: brightness.isDark
              ? CupertinoColors.black.withOpacity(0.5)
              : CupertinoColors.systemGrey3.color.withOpacity(0.5),
          offset: const Offset(0, 2),
          spreadRadius: 0.5,
          blurRadius: 4,
        ),
      ];
      final border = Border.all(
        width: 0.5,
        color: brightness.isDark
            ? CupertinoColors.systemGrey3.darkColor
            : CupertinoColors.systemGrey3.color,
      );
      if (brightness.isDark) {
        return BoxDecoration(
          color: const Color(0xFF1C1C1E),
          borderRadius: radius,
          boxShadow: shadow,
          border: border,
        );
      } else {
        return BoxDecoration(
          color: const Color(0xFFE1E3E5),
          borderRadius: radius,
          boxShadow: shadow,
          border: border,
        );
      }
    }(),
  );
}