| 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 |