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 import 'package:sky/app/view.dart'; | 7 import 'package:sky/app/view.dart'; |
8 import 'package:sky/rendering/box.dart'; | 8 import 'package:sky/rendering/box.dart'; |
9 import 'package:sky/rendering/block.dart'; | 9 import 'package:sky/rendering/block.dart'; |
10 import 'package:sky/rendering/flex.dart'; | 10 import 'package:sky/rendering/flex.dart'; |
11 import 'package:sky/rendering/object.dart'; | 11 import 'package:sky/rendering/object.dart'; |
12 import 'package:sky/rendering/paragraph.dart'; | 12 import 'package:sky/rendering/paragraph.dart'; |
13 import '../lib/solid_color_box.dart'; | 13 import '../lib/solid_color_box.dart'; |
14 | 14 |
15 AppView app; | 15 AppView app; |
16 | 16 |
17 // Attempts to draw | 17 // Attempts to draw |
18 // http://www.w3.org/TR/2015/WD-css-flexbox-1-20150514/images/flex-pack.svg | 18 // http://www.w3.org/TR/2015/WD-css-flexbox-1-20150514/images/flex-pack.svg |
19 void main() { | 19 void main() { |
20 var table = new RenderFlex(direction: FlexDirection.vertical); | 20 var table = new RenderFlex(direction: FlexDirection.vertical); |
21 | 21 |
22 void addRow(FlexJustifyContent justify) { | 22 void addRow(FlexJustifyContent justify) { |
23 RenderParagraph paragraph = new RenderParagraph(text: "${justify}"); | 23 RenderParagraph paragraph = new RenderParagraph(new InlineText("${justify}")
); |
24 table.add(new RenderPadding(child: paragraph, padding: new EdgeDims.only(top
: 20.0))); | 24 table.add(new RenderPadding(child: paragraph, padding: new EdgeDims.only(top
: 20.0))); |
25 var row = new RenderFlex(direction: FlexDirection.horizontal); | 25 var row = new RenderFlex(direction: FlexDirection.horizontal); |
26 row.add(new RenderSolidColorBox(const Color(0xFFFFCCCC), desiredSize: new Si
ze(80.0, 60.0))); | 26 row.add(new RenderSolidColorBox(const Color(0xFFFFCCCC), desiredSize: new Si
ze(80.0, 60.0))); |
27 row.add(new RenderSolidColorBox(const Color(0xFFCCFFCC), desiredSize: new Si
ze(64.0, 60.0))); | 27 row.add(new RenderSolidColorBox(const Color(0xFFCCFFCC), desiredSize: new Si
ze(64.0, 60.0))); |
28 row.add(new RenderSolidColorBox(const Color(0xFFCCCCFF), desiredSize: new Si
ze(160.0, 60.0))); | 28 row.add(new RenderSolidColorBox(const Color(0xFFCCCCFF), desiredSize: new Si
ze(160.0, 60.0))); |
29 row.justifyContent = justify; | 29 row.justifyContent = justify; |
30 table.add(row); | 30 table.add(row); |
31 row.parentData.flex = 1; | 31 row.parentData.flex = 1; |
32 } | 32 } |
33 | 33 |
34 addRow(FlexJustifyContent.flexStart); | 34 addRow(FlexJustifyContent.flexStart); |
35 addRow(FlexJustifyContent.flexEnd); | 35 addRow(FlexJustifyContent.flexEnd); |
36 addRow(FlexJustifyContent.center); | 36 addRow(FlexJustifyContent.center); |
37 addRow(FlexJustifyContent.spaceBetween); | 37 addRow(FlexJustifyContent.spaceBetween); |
38 addRow(FlexJustifyContent.spaceAround); | 38 addRow(FlexJustifyContent.spaceAround); |
39 | 39 |
40 RenderDecoratedBox root = new RenderDecoratedBox( | 40 RenderDecoratedBox root = new RenderDecoratedBox( |
41 decoration: new BoxDecoration(backgroundColor: const Color(0xFFFFFFFF)), | 41 decoration: new BoxDecoration(backgroundColor: const Color(0xFFFFFFFF)), |
42 child: new RenderPadding(child: table, padding: new EdgeDims.symmetric(verti
cal: 50.0)) | 42 child: new RenderPadding(child: table, padding: new EdgeDims.symmetric(verti
cal: 50.0)) |
43 ); | 43 ); |
44 | 44 |
45 app = new AppView(root: root); | 45 app = new AppView(root: root); |
46 } | 46 } |
OLD | NEW |