| 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:math' as math; | 5 import 'dart:math' as math; | 
| 6 import 'dart:sky' as sky; | 6 import 'dart:sky' as sky; | 
| 7 | 7 | 
| 8 import '../animation/animated_value.dart'; | 8 import '../animation/animated_value.dart'; | 
| 9 import '../animation/curves.dart'; | 9 import '../animation/curves.dart'; | 
| 10 import '../rendering/box.dart'; | 10 import '../rendering/box.dart'; | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 45       return; | 45       return; | 
| 46     _radius.animateTo(_targetRadius, duration, curve: easeOut); | 46     _radius.animateTo(_targetRadius, duration, curve: easeOut); | 
| 47   } | 47   } | 
| 48 | 48 | 
| 49   void _handleRadiusChange() { | 49   void _handleRadiusChange() { | 
| 50     if (_radius.value == _targetRadius) | 50     if (_radius.value == _targetRadius) | 
| 51       well._splashes.remove(this); | 51       well._splashes.remove(this); | 
| 52     well.markNeedsPaint(); | 52     well.markNeedsPaint(); | 
| 53   } | 53   } | 
| 54 | 54 | 
| 55   void paint(RenderObjectDisplayList canvas) { | 55   void paint(RenderCanvas canvas) { | 
| 56     int opacity = (_kSplashInitialOpacity * (1.0 - (_radius.value / _targetRadiu
     s))).floor(); | 56     int opacity = (_kSplashInitialOpacity * (1.0 - (_radius.value / _targetRadiu
     s))).floor(); | 
| 57     sky.Paint paint = new sky.Paint()..color = new sky.Color(opacity << 24); | 57     sky.Paint paint = new sky.Paint()..color = new sky.Color(opacity << 24); | 
| 58     canvas.drawCircle(position.x, position.y, _radius.value, paint); | 58     canvas.drawCircle(position.x, position.y, _radius.value, paint); | 
| 59   } | 59   } | 
| 60 } | 60 } | 
| 61 | 61 | 
| 62 class RenderInkWell extends RenderProxyBox { | 62 class RenderInkWell extends RenderProxyBox { | 
| 63   RenderInkWell({ RenderBox child }) : super(child); | 63   RenderInkWell({ RenderBox child }) : super(child); | 
| 64 | 64 | 
| 65   final List<InkSplash> _splashes = new List<InkSplash>(); | 65   final List<InkSplash> _splashes = new List<InkSplash>(); | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 81     _splashes.add(new InkSplash(pointer, position, this)); | 81     _splashes.add(new InkSplash(pointer, position, this)); | 
| 82     markNeedsPaint(); | 82     markNeedsPaint(); | 
| 83   } | 83   } | 
| 84 | 84 | 
| 85   void _confirmSplash(int pointer) { | 85   void _confirmSplash(int pointer) { | 
| 86     _splashes.where((splash) => splash.pointer == pointer) | 86     _splashes.where((splash) => splash.pointer == pointer) | 
| 87              .forEach((splash) { splash.confirm(); }); | 87              .forEach((splash) { splash.confirm(); }); | 
| 88     markNeedsPaint(); | 88     markNeedsPaint(); | 
| 89   } | 89   } | 
| 90 | 90 | 
| 91   void paint(RenderObjectDisplayList canvas) { | 91   void paint(RenderCanvas canvas) { | 
| 92     if (!_splashes.isEmpty) { | 92     if (!_splashes.isEmpty) { | 
| 93       canvas.save(); | 93       canvas.save(); | 
| 94       canvas.clipRect(new Rect.fromSize(size)); | 94       canvas.clipRect(new Rect.fromSize(size)); | 
| 95       for (InkSplash splash in _splashes) | 95       for (InkSplash splash in _splashes) | 
| 96         splash.paint(canvas); | 96         splash.paint(canvas); | 
| 97       canvas.restore(); | 97       canvas.restore(); | 
| 98     } | 98     } | 
| 99     super.paint(canvas); | 99     super.paint(canvas); | 
| 100   } | 100   } | 
| 101 } | 101 } | 
| 102 | 102 | 
| 103 class InkWell extends OneChildRenderObjectWrapper { | 103 class InkWell extends OneChildRenderObjectWrapper { | 
| 104   InkWell({ String key, Widget child }) | 104   InkWell({ String key, Widget child }) | 
| 105     : super(key: key, child: child); | 105     : super(key: key, child: child); | 
| 106 | 106 | 
| 107   RenderInkWell get root => super.root; | 107   RenderInkWell get root => super.root; | 
| 108   RenderInkWell createNode() => new RenderInkWell(); | 108   RenderInkWell createNode() => new RenderInkWell(); | 
| 109 } | 109 } | 
| OLD | NEW | 
|---|