OLD | NEW |
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' as sky; | 5 import 'dart:sky' as sky; |
6 | 6 |
7 import 'package:sky/theme/shadows.dart'; | 7 import 'package:sky/theme/shadows.dart'; |
8 | 8 |
9 import '../painting/shadows.dart'; | 9 import '../painting/shadows.dart'; |
10 import '../rendering/box.dart'; | 10 import '../rendering/box.dart'; |
(...skipping 19 matching lines...) Expand all Loading... |
30 bool value, | 30 bool value, |
31 ValueChanged onChanged | 31 ValueChanged onChanged |
32 }) : super(key: key, value: value, onChanged: onChanged); | 32 }) : super(key: key, value: value, onChanged: onChanged); |
33 | 33 |
34 Size get size => const Size(_kSwitchWidth + 2.0, _kSwitchHeight + 2.0); | 34 Size get size => const Size(_kSwitchWidth + 2.0, _kSwitchHeight + 2.0); |
35 | 35 |
36 void customPaintCallback(sky.Canvas canvas, Size size) { | 36 void customPaintCallback(sky.Canvas canvas, Size size) { |
37 sky.Color thumbColor = _kThumbOffColor; | 37 sky.Color thumbColor = _kThumbOffColor; |
38 sky.Color trackColor = _kTrackOffColor; | 38 sky.Color trackColor = _kTrackOffColor; |
39 if (value) { | 39 if (value) { |
40 thumbColor = Theme.of(this).primary[500]; | 40 thumbColor = Theme.of(this).accentColor; |
41 trackColor = new sky.Color(thumbColor.value & 0x80FFFFFF); | 41 trackColor = new sky.Color(thumbColor.value & 0x80FFFFFF); |
42 } | 42 } |
43 | 43 |
44 // Draw the track rrect | 44 // Draw the track rrect |
45 sky.Paint paint = new sky.Paint()..color = trackColor; | 45 sky.Paint paint = new sky.Paint()..color = trackColor; |
46 paint.setStyle(sky.PaintingStyle.fill); | 46 paint.setStyle(sky.PaintingStyle.fill); |
47 sky.Rect rect = new sky.Rect.fromLTRB( | 47 sky.Rect rect = new sky.Rect.fromLTRB( |
48 0.0, | 48 0.0, |
49 _kSwitchHeight / 2.0 - _kTrackHeight / 2.0, | 49 _kSwitchHeight / 2.0 - _kTrackHeight / 2.0, |
50 _kTrackWidth, | 50 _kTrackWidth, |
(...skipping 11 matching lines...) Expand all Loading... |
62 | 62 |
63 // The thumb contracts slightly during the animation | 63 // The thumb contracts slightly during the animation |
64 double inset = 2.0 - (toggleAnimation.value - 0.5).abs() * 2.0; | 64 double inset = 2.0 - (toggleAnimation.value - 0.5).abs() * 2.0; |
65 Point thumbPos = new Point( | 65 Point thumbPos = new Point( |
66 _kTrackRadius + toggleAnimation.value * (_kTrackWidth - _kTrackRadius * 2)
, | 66 _kTrackRadius + toggleAnimation.value * (_kTrackWidth - _kTrackRadius * 2)
, |
67 _kSwitchHeight / 2.0 | 67 _kSwitchHeight / 2.0 |
68 ); | 68 ); |
69 canvas.drawCircle(thumbPos, _kThumbRadius - inset, paint); | 69 canvas.drawCircle(thumbPos, _kThumbRadius - inset, paint); |
70 } | 70 } |
71 } | 71 } |
OLD | NEW |