From 6543b55cb6539745cc2cf68ba1fa42b132066c4d Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Wed, 3 Jun 2015 10:20:33 -0700 Subject: [PATCH] Add support for transforms to container These transforms are currently very basic but they seem to mostly work. R=eseidel@chromium.org Review URL: https://codereview.chromium.org/1152273004 --- examples/fn2/container.dart | 2 -- examples/raw/transform.dart | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 examples/raw/transform.dart diff --git a/examples/fn2/container.dart b/examples/fn2/container.dart index a3509c455f3..a236a42e271 100644 --- a/examples/fn2/container.dart +++ b/examples/fn2/container.dart @@ -10,7 +10,6 @@ class ContainerApp extends App { UINode build() { return new EventListenerNode( new BlockContainer(children: [ - new Rectangle(0xFF00FFFF, key: 1), new Container( padding: new EdgeDims.all(10.0), margin: new EdgeDims.all(10.0), @@ -23,7 +22,6 @@ class ContainerApp extends App { desiredSize: new sky.Size(double.INFINITY, 20.0) ) ])), - new Rectangle(0xFF0000FF, key: 3) ]), onPointerDown: _handlePointerDown); } diff --git a/examples/raw/transform.dart b/examples/raw/transform.dart new file mode 100644 index 00000000000..b5c04a58daf --- /dev/null +++ b/examples/raw/transform.dart @@ -0,0 +1,27 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:sky' as sky; +import 'package:sky/framework/app.dart'; +import 'package:sky/framework/rendering/flex.dart'; +import 'package:sky/framework/rendering/box.dart'; +import 'package:vector_math/vector_math.dart'; + +AppView app; + +void main() { + RenderDecoratedBox green = new RenderDecoratedBox( + decoration: new BoxDecoration(backgroundColor: 0xFF00FF00)); + RenderSizedBox box = new RenderSizedBox( + desiredSize: new sky.Size(200.0, 200.0), child: green); + + Matrix4 transform = new Matrix4.identity(); + RenderTransform spin = new RenderTransform( + transform: transform, child: box); + spin.rotateZ(1.0); + + RenderFlex flex = new RenderFlex(); + flex.add(spin); + app = new AppView(flex); +}