Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: sky/sdk/lib/theme/theme_data.dart

Issue 1235443002: Support for icon theming (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix analyzer warning Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/sdk/lib/theme/colors.dart ('k') | sky/sdk/lib/widgets/floating_action_button.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import 'dart:sky'; 5 import 'dart:sky';
6 6
7 import 'typography.dart' as typography; 7 import 'typography.dart' as typography;
8 import 'colors.dart' as colors; 8 import 'colors.dart' as colors;
9 9
10 enum ThemeBrightness { dark, light } 10 enum ThemeBrightness { dark, light }
11 11
12 class ThemeData { 12 class ThemeData {
13 13
14 ThemeData({ 14 ThemeData({
15 ThemeBrightness brightness, 15 ThemeBrightness brightness,
16 Map<int, Color> primarySwatch, 16 Map<int, Color> primarySwatch,
17 Color accentColor, 17 Color accentColor,
18 Color floatingActionButtonColor, 18 this.accentColorBrightness: ThemeBrightness.dark,
19 typography.TextTheme text, 19 typography.TextTheme text })
20 typography.TextTheme toolbarText })
21 : this.brightness = brightness, 20 : this.brightness = brightness,
22 this.primarySwatch = primarySwatch, 21 this.primarySwatch = primarySwatch,
22 primaryColorBrightness = primarySwatch == null ? brightness : ThemeBrightn ess.dark,
23 canvasColor = brightness == ThemeBrightness.dark ? colors.Grey[850] : colo rs.Grey[50], 23 canvasColor = brightness == ThemeBrightness.dark ? colors.Grey[850] : colo rs.Grey[50],
24 cardColor = brightness == ThemeBrightness.dark ? colors.Grey[800] : colors .White, 24 cardColor = brightness == ThemeBrightness.dark ? colors.Grey[800] : colors .White,
25 dividerColor = brightness == ThemeBrightness.dark ? const Color(0x1FFFFFFF ) : const Color(0x1F000000), 25 dividerColor = brightness == ThemeBrightness.dark ? const Color(0x1FFFFFFF ) : const Color(0x1F000000),
26 text = brightness == ThemeBrightness.dark ? typography.white : typography. black { 26 text = brightness == ThemeBrightness.dark ? typography.white : typography. black {
27 assert(brightness != null); 27 assert(brightness != null);
28 28
29 if (primarySwatch == null) { 29 if (primarySwatch == null) {
30 _primaryColor = brightness == ThemeBrightness.dark ? colors.Grey[900] : co lors.Grey[100]; 30 if (brightness == ThemeBrightness.dark) {
31 _primaryColor = colors.Grey[900];
32 } else {
33 _primaryColor = colors.Grey[100];
34 }
31 } else { 35 } else {
32 _primaryColor = primarySwatch[500]; 36 _primaryColor = primarySwatch[500];
33 } 37 }
34 38
35 if (accentColor == null) { 39 if (accentColor == null) {
36 _accentColor = primarySwatch == null ? colors.Blue[500] : primarySwatch[50 0]; 40 _accentColor = primarySwatch == null ? colors.Blue[500] : primarySwatch[50 0];
37 } else { 41 } else {
38 _accentColor = accentColor; 42 _accentColor = accentColor;
39 } 43 }
40
41 if (floatingActionButtonColor == null) {
42 _floatingActionButtonColor = accentColor == null ? colors.PinkAccent[200] : accentColor;
43 } else {
44 _floatingActionButtonColor = floatingActionButtonColor;
45 }
46
47 if (toolbarText == null) {
48 if (colors.DarkColors.contains(primarySwatch) || _primaryColor == colors.G rey[900])
49 _toolbarText = typography.white;
50 else
51 _toolbarText = typography.black;
52 } else {
53 _toolbarText = toolbarText;
54 }
55 } 44 }
56 45
57 factory ThemeData.light() => new ThemeData(primarySwatch: colors.Blue, brightn ess: ThemeBrightness.light); 46 factory ThemeData.light() => new ThemeData(primarySwatch: colors.Blue, brightn ess: ThemeBrightness.light);
58 factory ThemeData.dark() => new ThemeData(brightness: ThemeBrightness.dark); 47 factory ThemeData.dark() => new ThemeData(brightness: ThemeBrightness.dark);
59 factory ThemeData.fallback() => new ThemeData.light(); 48 factory ThemeData.fallback() => new ThemeData.light();
60 49
61 final ThemeBrightness brightness; 50 final ThemeBrightness brightness;
62 final Map<int, Color> primarySwatch; 51 final Map<int, Color> primarySwatch;
63 final Color canvasColor; 52 final Color canvasColor;
64 final Color cardColor; 53 final Color cardColor;
65 final Color dividerColor; 54 final Color dividerColor;
66 final typography.TextTheme text; 55 final typography.TextTheme text;
67 56
68 Color _primaryColor; 57 Color _primaryColor;
69 Color get primaryColor => _primaryColor; 58 Color get primaryColor => _primaryColor;
70 59
60 final ThemeBrightness primaryColorBrightness;
61
71 Color _accentColor; 62 Color _accentColor;
72 Color get accentColor => _accentColor; 63 Color get accentColor => _accentColor;
73 64
74 Color _floatingActionButtonColor; 65 final ThemeBrightness accentColorBrightness;
75 Color get floatingActionButtonColor => _floatingActionButtonColor;
76
77 typography.TextTheme _toolbarText;
78 typography.TextTheme get toolbarText => _toolbarText;
79 } 66 }
OLDNEW
« no previous file with comments | « sky/sdk/lib/theme/colors.dart ('k') | sky/sdk/lib/widgets/floating_action_button.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698