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

Unified Diff: sky/sdk/lib/widgets/switch.dart

Issue 1204523002: Material light and dark themes for Sky widgets (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix analyzer warning properly Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: sky/sdk/lib/widgets/switch.dart
diff --git a/sky/sdk/lib/widgets/switch.dart b/sky/sdk/lib/widgets/switch.dart
index f6997f34d854b8c3f4cb12b92b3b517e46da2cd7..db6420f7b60bf77dae729ded55032a68c1afb907 100644
--- a/sky/sdk/lib/widgets/switch.dart
+++ b/sky/sdk/lib/widgets/switch.dart
@@ -4,19 +4,16 @@
import 'dart:sky' as sky;
-import 'package:sky/theme/colors.dart' as colors;
import 'package:sky/theme/shadows.dart';
import '../painting/shadows.dart';
import '../rendering/box.dart';
import 'basic.dart';
+import 'theme.dart';
import 'toggleable.dart';
export 'toggleable.dart' show ValueChanged;
-// TODO(jackson): This should change colors with the theme
-sky.Color _kThumbOnColor = colors.Purple[500];
const sky.Color _kThumbOffColor = const sky.Color(0xFFFAFAFA);
-sky.Color _kTrackOnColor = new sky.Color(_kThumbOnColor.value & (0x80 << 24));
const sky.Color _kTrackOffColor = const sky.Color(0x42000000);
const double _kSwitchWidth = 35.0;
const double _kThumbRadius = 10.0;
@@ -37,8 +34,12 @@ class Switch extends Toggleable {
Size get size => const Size(_kSwitchWidth + 2.0, _kSwitchHeight + 2.0);
void customPaintCallback(sky.Canvas canvas, Size size) {
- sky.Color thumbColor = value ? _kThumbOnColor : _kThumbOffColor;
- sky.Color trackColor = value ? _kTrackOnColor : _kTrackOffColor;
+ sky.Color thumbColor = _kThumbOffColor;
+ sky.Color trackColor = _kTrackOffColor;
+ if (value) {
+ thumbColor = Theme.of(this).primary[500];
+ trackColor = new sky.Color(thumbColor.value & 0x80FFFFFF);
+ }
// Draw the track rrect
sky.Paint paint = new sky.Paint()..color = trackColor;

Powered by Google App Engine
This is Rietveld 408576698