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 '../fn2.dart'; | 5 import '../fn2.dart'; |
6 | 6 |
7 abstract class ButtonBase extends Component { | 7 abstract class ButtonBase extends Component { |
8 bool highlight = false; | |
9 | 8 |
10 ButtonBase({ Object key }) : super(key: key); | 9 ButtonBase({ Object key }) : super(key: key); |
11 | 10 |
12 UINode buildContent(); | 11 UINode buildContent(); |
13 | 12 |
14 UINode build() { | 13 UINode build() { |
15 return new EventListenerNode( | 14 return new EventListenerNode( |
16 buildContent(), | 15 buildContent(), |
17 onPointerDown: _handlePointerDown, | 16 onPointerDown: _handlePointerDown, |
18 onPointerUp: _handlePointerUp, | 17 onPointerUp: _handlePointerUp, |
19 onPointerCancel: _handlePointerCancel | 18 onPointerCancel: _handlePointerCancel |
20 ); | 19 ); |
21 } | 20 } |
22 | 21 |
| 22 bool highlight = false; |
| 23 |
23 void _handlePointerDown(_) { | 24 void _handlePointerDown(_) { |
24 setState(() { | 25 setState(() { |
25 highlight = true; | 26 highlight = true; |
26 }); | 27 }); |
27 } | 28 } |
28 void _handlePointerUp(_) { | 29 void _handlePointerUp(_) { |
29 setState(() { | 30 setState(() { |
30 highlight = false; | 31 highlight = false; |
31 }); | 32 }); |
32 } | 33 } |
33 void _handlePointerCancel(_) { | 34 void _handlePointerCancel(_) { |
34 setState(() { | 35 setState(() { |
35 highlight = false; | 36 highlight = false; |
36 }); | 37 }); |
37 } | 38 } |
38 } | 39 } |
OLD | NEW |