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

Side by Side Diff: sky/sdk/lib/widgets/switch.dart

Issue 1173293005: Make UINode's key a String (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: nit 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 unified diff | Download patch
« no previous file with comments | « sky/sdk/lib/widgets/scrollable.dart ('k') | sky/sdk/lib/widgets/toggleable.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' as sky; 5 import 'dart:sky' as sky;
6 6
7 import 'package:sky/theme2/colors.dart' as colors; 7 import 'package:sky/theme2/colors.dart' as colors;
8 import 'package:sky/theme2/shadows.dart'; 8 import 'package:sky/theme2/shadows.dart';
9 9
10 import '../painting/shadows.dart'; 10 import '../painting/shadows.dart';
(...skipping 11 matching lines...) Expand all
22 const double _kThumbRadius = 10.0; 22 const double _kThumbRadius = 10.0;
23 const double _kSwitchHeight = _kThumbRadius * 2.0; 23 const double _kSwitchHeight = _kThumbRadius * 2.0;
24 const double _kTrackHeight = 14.0; 24 const double _kTrackHeight = 14.0;
25 const double _kTrackRadius = _kTrackHeight / 2.0; 25 const double _kTrackRadius = _kTrackHeight / 2.0;
26 const double _kTrackWidth = _kSwitchWidth - (_kThumbRadius - _kTrackRadius) * 2. 0; 26 const double _kTrackWidth = _kSwitchWidth - (_kThumbRadius - _kTrackRadius) * 2. 0;
27 27
28 class Switch extends Toggleable { 28 class Switch extends Toggleable {
29 // TODO(jackson): Hit-test the switch so that it can respond to both taps and swipe gestures 29 // TODO(jackson): Hit-test the switch so that it can respond to both taps and swipe gestures
30 30
31 Switch({ 31 Switch({
32 Object key, 32 String key,
33 bool value, 33 bool value,
34 ValueChanged onChanged 34 ValueChanged onChanged
35 }) : super(key: key, value: value, onChanged: onChanged); 35 }) : super(key: key, value: value, onChanged: onChanged);
36 36
37 Size get size => const Size(_kSwitchWidth + 2.0, _kSwitchHeight + 2.0); 37 Size get size => const Size(_kSwitchWidth + 2.0, _kSwitchHeight + 2.0);
38 38
39 void customPaintCallback(sky.Canvas canvas, Size size) { 39 void customPaintCallback(sky.Canvas canvas, Size size) {
40 sky.Color thumbColor = value ? _kThumbOnColor : _kThumbOffColor; 40 sky.Color thumbColor = value ? _kThumbOnColor : _kThumbOffColor;
41 sky.Color trackColor = value ? _kTrackOnColor : _kTrackOffColor; 41 sky.Color trackColor = value ? _kTrackOnColor : _kTrackOffColor;
42 42
(...skipping 18 matching lines...) Expand all
61 61
62 // The thumb contracts slightly during the animation 62 // The thumb contracts slightly during the animation
63 double inset = 2.0 - (toggleAnimation.value - 0.5).abs() * 2.0; 63 double inset = 2.0 - (toggleAnimation.value - 0.5).abs() * 2.0;
64 Point thumbPos = new Point( 64 Point thumbPos = new Point(
65 _kTrackRadius + toggleAnimation.value * (_kTrackWidth - _kTrackRadius * 2) , 65 _kTrackRadius + toggleAnimation.value * (_kTrackWidth - _kTrackRadius * 2) ,
66 _kSwitchHeight / 2.0 66 _kSwitchHeight / 2.0
67 ); 67 );
68 canvas.drawCircle(thumbPos.x, thumbPos.y, _kThumbRadius - inset, paint); 68 canvas.drawCircle(thumbPos.x, thumbPos.y, _kThumbRadius - inset, paint);
69 } 69 }
70 } 70 }
OLDNEW
« no previous file with comments | « sky/sdk/lib/widgets/scrollable.dart ('k') | sky/sdk/lib/widgets/toggleable.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698