/* * @Author: XianKaiQun * @Date: 2020-09-08 11:18:16 * @LastEditors: XianKaiQun * @LastEditTime: 2020-09-08 16:13:03 * @Description: */ import 'package:flutter/widgets.dart'; import 'package:wisdom_cli/wisdom_ui.dart'; ///主题 class WTheme extends InheritedTheme { final WThemeData? data; final Widget child; WTheme({Key? key, this.data, required this.child}) : super(key: key, child: child); static WThemeData of(BuildContext context) { final WThemeData themeData = _getInheritedWThemeData(context).resolve(context); return themeData; } @override bool updateShouldNotify(WTheme oldWidget) { return oldWidget.data != data; } @override Widget wrap(BuildContext context, Widget child) { final WTheme? theme = context.findAncestorWidgetOfExactType(); return identical(this, theme) ? child : WTheme(data: data, child: child); } static WThemeData _getInheritedWThemeData(BuildContext context) { final WTheme? theme = context.dependOnInheritedWidgetOfExactType(); return theme?.data ?? WThemeData.fallback(); } }