theme_data.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import 'package:flutter/foundation.dart';
  2. import 'locale_setting.dart';
  3. import 'manifest.dart';
  4. import 'theme_color_scheme.dart';
  5. import 'text_size_scheme.dart';
  6. class FThemeData with Diagnosticable {
  7. FThemeData(this.name, FThemeManifestInfo manifestInfo) {
  8. _localeSettings = manifestInfo.localeSettings;
  9. _colorScheme = manifestInfo.colorScheme;
  10. hasDarkColorScheme = manifestInfo.darkColorScheme != null;
  11. _darkColorScheme = manifestInfo.darkColorScheme ?? manifestInfo.colorScheme;
  12. _textSizeScheme = manifestInfo.textSizeScheme;
  13. }
  14. final String name;
  15. late FThemeLocaleSettings _localeSettings;
  16. /// 主题语言配置
  17. FThemeLocaleSettings get localeSettings => _localeSettings;
  18. late bool hasDarkColorScheme;
  19. late FThemeColorScheme _colorScheme;
  20. /// 颜色组合
  21. FThemeColorScheme get colorScheme => _colorScheme;
  22. late FThemeColorScheme _darkColorScheme;
  23. /// 颜色组合(深色模式)
  24. FThemeColorScheme get darkColorScheme => _darkColorScheme;
  25. late FThemeTextSizeScheme _textSizeScheme;
  26. /// 文字尺寸组合
  27. FThemeTextSizeScheme get textSizeScheme => _textSizeScheme;
  28. }