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'; | 5 import 'dart:sky'; |
6 import 'dart:math' as math; | 6 import 'dart:math' as math; |
| 7 |
7 import 'package:sky/framework/net/image_cache.dart' as image_cache; | 8 import 'package:sky/framework/net/image_cache.dart' as image_cache; |
8 import 'package:sky/app/view.dart'; | |
9 import 'package:sky/painting/text_style.dart'; | 9 import 'package:sky/painting/text_style.dart'; |
| 10 import 'package:sky/rendering/block.dart'; |
10 import 'package:sky/rendering/box.dart'; | 11 import 'package:sky/rendering/box.dart'; |
11 import 'package:sky/rendering/block.dart'; | |
12 import 'package:sky/rendering/flex.dart'; | 12 import 'package:sky/rendering/flex.dart'; |
13 import 'package:sky/rendering/object.dart'; | 13 import 'package:sky/rendering/object.dart'; |
14 import 'package:sky/rendering/paragraph.dart'; | 14 import 'package:sky/rendering/paragraph.dart'; |
| 15 import 'package:sky/rendering/sky_binding.dart'; |
| 16 |
15 import '../lib/solid_color_box.dart'; | 17 import '../lib/solid_color_box.dart'; |
16 | 18 |
17 class Touch { | 19 class Touch { |
18 final double x; | 20 final double x; |
19 final double y; | 21 final double y; |
20 const Touch(this.x, this.y); | 22 const Touch(this.x, this.y); |
21 } | 23 } |
22 | 24 |
23 class RenderImageGrow extends RenderImage { | 25 class RenderImageGrow extends RenderImage { |
24 final Size _startingSize; | 26 final Size _startingSize; |
25 | 27 |
26 RenderImageGrow(String src, Size size) : _startingSize = size, super(src, size
); | 28 RenderImageGrow(String src, Size size) : _startingSize = size, super(src, size
); |
27 | 29 |
28 double _growth = 0.0; | 30 double _growth = 0.0; |
29 double get growth => _growth; | 31 double get growth => _growth; |
30 void set growth(double value) { | 32 void set growth(double value) { |
31 _growth = value; | 33 _growth = value; |
32 double newWidth = _startingSize.width == null ? null : _startingSize.width +
growth; | 34 double newWidth = _startingSize.width == null ? null : _startingSize.width +
growth; |
33 double newHeight = _startingSize.height == null ? null : _startingSize.heigh
t + growth; | 35 double newHeight = _startingSize.height == null ? null : _startingSize.heigh
t + growth; |
34 requestedSize = new Size(newWidth, newHeight); | 36 requestedSize = new Size(newWidth, newHeight); |
35 } | 37 } |
36 } | 38 } |
37 | 39 |
38 AppView app; | |
39 RenderImageGrow image; | 40 RenderImageGrow image; |
40 | 41 |
41 Map<int, Touch> touches = new Map(); | 42 Map<int, Touch> touches = new Map(); |
42 void handleEvent(event) { | 43 void handleEvent(event) { |
43 if (event is PointerEvent) { | 44 if (event is PointerEvent) { |
44 if (event.type == 'pointermove') | 45 if (event.type == 'pointermove') |
45 image.growth = math.max(0.0, image.growth + event.x - touches[event.poin
ter].x); | 46 image.growth = math.max(0.0, image.growth + event.x - touches[event.poin
ter].x); |
46 touches[event.pointer] = new Touch(event.x, event.y); | 47 touches[event.pointer] = new Touch(event.x, event.y); |
47 } | 48 } |
48 } | 49 } |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 addFlexChildSolidColor(column, const Color(0xFF0081C6), flex: 2); | 89 addFlexChildSolidColor(column, const Color(0xFF0081C6), flex: 2); |
89 | 90 |
90 row.add(column); | 91 row.add(column); |
91 column.parentData.flex = 8; | 92 column.parentData.flex = 8; |
92 | 93 |
93 RenderDecoratedBox root = new RenderDecoratedBox( | 94 RenderDecoratedBox root = new RenderDecoratedBox( |
94 decoration: new BoxDecoration(backgroundColor: const Color(0xFFFFFFFF)), | 95 decoration: new BoxDecoration(backgroundColor: const Color(0xFFFFFFFF)), |
95 child: row | 96 child: row |
96 ); | 97 ); |
97 | 98 |
98 app = new AppView(root: root); | 99 new SkyBinding(root: root); |
99 view.setEventCallback(handleEvent); | 100 view.setEventCallback(handleEvent); |
100 } | 101 } |
OLD | NEW |