| 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' as sky; | 5 import 'dart:sky' as sky; |
| 6 | 6 |
| 7 import 'package:sky/app/scheduler.dart'; | 7 import 'package:sky/app/scheduler.dart'; |
| 8 import 'package:sky/rendering/box.dart'; | 8 import 'package:sky/rendering/box.dart'; |
| 9 import 'package:sky/rendering/flex.dart'; | 9 import 'package:sky/rendering/flex.dart'; |
| 10 import 'package:sky/widgets/basic.dart'; | 10 import 'package:sky/widgets/basic.dart'; |
| 11 import 'package:sky/widgets/raised_button.dart'; | 11 import 'package:sky/widgets/raised_button.dart'; |
| 12 import 'package:sky/widgets/ui_node.dart'; | 12 import 'package:sky/widgets/widget.dart'; |
| 13 import 'package:vector_math/vector_math.dart'; | 13 import 'package:vector_math/vector_math.dart'; |
| 14 | 14 |
| 15 import '../lib/solid_color_box.dart'; | 15 import '../lib/solid_color_box.dart'; |
| 16 import '../../tests/resources/display_list.dart'; | 16 import '../../tests/resources/display_list.dart'; |
| 17 | 17 |
| 18 // Solid colour, RenderObject version | 18 // Solid colour, RenderObject version |
| 19 void addFlexChildSolidColor(RenderFlex parent, sky.Color backgroundColor, { int
flex: 0 }) { | 19 void addFlexChildSolidColor(RenderFlex parent, sky.Color backgroundColor, { int
flex: 0 }) { |
| 20 RenderSolidColorBox child = new RenderSolidColorBox(backgroundColor); | 20 RenderSolidColorBox child = new RenderSolidColorBox(backgroundColor); |
| 21 parent.add(child); | 21 parent.add(child); |
| 22 child.parentData.flex = flex; | 22 child.parentData.flex = flex; |
| 23 } | 23 } |
| 24 | 24 |
| 25 // Solid colour, Widget version | 25 // Solid colour, Widget version |
| 26 class Rectangle extends Component { | 26 class Rectangle extends Component { |
| 27 Rectangle(this.color, { String key }) : super(key: key); | 27 Rectangle(this.color, { String key }) : super(key: key); |
| 28 final Color color; | 28 final Color color; |
| 29 UINode build() { | 29 Widget build() { |
| 30 return new Flexible( | 30 return new Flexible( |
| 31 child: new Container( | 31 child: new Container( |
| 32 decoration: new BoxDecoration(backgroundColor: color) | 32 decoration: new BoxDecoration(backgroundColor: color) |
| 33 ) | 33 ) |
| 34 ); | 34 ); |
| 35 } | 35 } |
| 36 } | 36 } |
| 37 | 37 |
| 38 UINode builder() { | 38 Widget builder() { |
| 39 return new Flex([ | 39 return new Flex([ |
| 40 new Rectangle(const Color(0xFF00FFFF), key: 'a'), | 40 new Rectangle(const Color(0xFF00FFFF), key: 'a'), |
| 41 new Container( | 41 new Container( |
| 42 padding: new EdgeDims.all(10.0), | 42 padding: new EdgeDims.all(10.0), |
| 43 margin: new EdgeDims.all(10.0), | 43 margin: new EdgeDims.all(10.0), |
| 44 decoration: new BoxDecoration(backgroundColor: const Color(0xFFCCCCCC)), | 44 decoration: new BoxDecoration(backgroundColor: const Color(0xFFCCCCCC)), |
| 45 child: new RaisedButton( | 45 child: new RaisedButton( |
| 46 child: new Flex([ | 46 child: new Flex([ |
| 47 new Image(src: "https://www.dartlang.org/logos/dart-logo.png"), | 47 new Image(src: "https://www.dartlang.org/logos/dart-logo.png"), |
| 48 new Text('PRESS ME'), | 48 new Text('PRESS ME'), |
| (...skipping 18 matching lines...) Expand all Loading... |
| 67 timeBase = timeStamp; | 67 timeBase = timeStamp; |
| 68 double delta = (timeStamp - timeBase) / 1000; // radians | 68 double delta = (timeStamp - timeBase) / 1000; // radians |
| 69 | 69 |
| 70 transformBox.setIdentity(); | 70 transformBox.setIdentity(); |
| 71 transformBox.translate(transformBox.size.width / 2.0, transformBox.size.height
/ 2.0); | 71 transformBox.translate(transformBox.size.width / 2.0, transformBox.size.height
/ 2.0); |
| 72 transformBox.rotateZ(delta); | 72 transformBox.rotateZ(delta); |
| 73 transformBox.translate(-transformBox.size.width / 2.0, -transformBox.size.heig
ht / 2.0); | 73 transformBox.translate(-transformBox.size.width / 2.0, -transformBox.size.heig
ht / 2.0); |
| 74 } | 74 } |
| 75 | 75 |
| 76 void main() { | 76 void main() { |
| 77 // Because we're going to use UINodes, we want to initialise its | 77 // Because we're going to use Widgets, we want to initialise its |
| 78 // AppView, not use the default one. We don't really need to do | 78 // AppView, not use the default one. We don't really need to do |
| 79 // this, because RenderBoxToUINodeAdapter does it for us, but | 79 // this, because RenderBoxToWidgetAdapter does it for us, but |
| 80 // it's good practice in case we happen to not have a | 80 // it's good practice in case we happen to not have a |
| 81 // RenderBoxToUINodeAdapter in our tree at startup, or in case we | 81 // RenderBoxToWidgetAdapter in our tree at startup, or in case we |
| 82 // want a renderViewOverride. | 82 // want a renderViewOverride. |
| 83 UINodeAppView.initUINodeAppView(); | 83 WidgetAppView.initWidgetAppView(); |
| 84 | 84 |
| 85 RenderFlex flexRoot = new RenderFlex(direction: FlexDirection.vertical); | 85 RenderFlex flexRoot = new RenderFlex(direction: FlexDirection.vertical); |
| 86 | 86 |
| 87 RenderProxyBox proxy = new RenderProxyBox(); | 87 RenderProxyBox proxy = new RenderProxyBox(); |
| 88 new RenderBoxToUINodeAdapter(proxy, builder); // adds itself to proxy | 88 new RenderBoxToWidgetAdapter(proxy, builder); // adds itself to proxy |
| 89 | 89 |
| 90 addFlexChildSolidColor(flexRoot, const sky.Color(0xFFFF00FF), flex: 1); | 90 addFlexChildSolidColor(flexRoot, const sky.Color(0xFFFF00FF), flex: 1); |
| 91 flexRoot.add(proxy); | 91 flexRoot.add(proxy); |
| 92 addFlexChildSolidColor(flexRoot, const sky.Color(0xFF0000FF), flex: 1); | 92 addFlexChildSolidColor(flexRoot, const sky.Color(0xFF0000FF), flex: 1); |
| 93 | 93 |
| 94 transformBox = new RenderTransform(child: flexRoot, transform: new Matrix4.ide
ntity()); | 94 transformBox = new RenderTransform(child: flexRoot, transform: new Matrix4.ide
ntity()); |
| 95 RenderPadding root = new RenderPadding(padding: new EdgeDims.all(20.0), child:
transformBox); | 95 RenderPadding root = new RenderPadding(padding: new EdgeDims.all(20.0), child:
transformBox); |
| 96 | 96 |
| 97 UINodeAppView.appView.root = root; | 97 WidgetAppView.appView.root = root; |
| 98 addPersistentFrameCallback(rotate); | 98 addPersistentFrameCallback(rotate); |
| 99 } | 99 } |
| OLD | NEW |