Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Side by Side Diff: sky/examples/raw/render_paragraph.dart

Issue 1160013004: Implement RenderImage and Image for Sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Implement code review feedback from Adam and improve demo Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 'package:sky/framework/app.dart'; 6 import 'package:sky/framework/app.dart';
7 import 'package:sky/framework/rendering/box.dart'; 7 import 'package:sky/framework/rendering/box.dart';
8 import 'package:sky/framework/rendering/node.dart'; 8 import 'package:sky/framework/rendering/node.dart';
9 import 'package:sky/framework/rendering/flex.dart'; 9 import 'package:sky/framework/rendering/flex.dart';
10 import 'package:sky/framework/rendering/paragraph.dart'; 10 import 'package:sky/framework/rendering/paragraph.dart';
11 11 import '../lib/solid_color_box.dart';
12 class RenderSolidColor extends RenderDecoratedBox {
13 final Size desiredSize;
14 final int backgroundColor;
15
16 RenderSolidColor(int backgroundColor, { this.desiredSize: const Size.infinite( ) })
17 : backgroundColor = backgroundColor,
18 super(decoration: new BoxDecoration(backgroundColor: backgroundColor));
19
20 Size getIntrinsicDimensions(BoxConstraints constraints) {
21 return constraints.constrain(desiredSize);
22 }
23
24 void performLayout() {
25 size = constraints.constrain(desiredSize);
26 }
27
28 void handlePointer(PointerEvent event) {
29 if (event.type == 'pointerdown')
30 decoration = new BoxDecoration(backgroundColor: 0xFFFF0000);
31 else if (event.type == 'pointerup')
32 decoration = new BoxDecoration(backgroundColor: backgroundColor);
33 }
34 }
35 12
36 AppView app; 13 AppView app;
37 14
38 void main() { 15 void main() {
39 RenderFlex flexRoot = new RenderFlex(direction: FlexDirection.Vertical); 16 RenderFlex flexRoot = new RenderFlex(direction: FlexDirection.Vertical);
40 17
41 RenderNode root = new RenderDecoratedBox( 18 RenderNode root = new RenderDecoratedBox(
42 decoration: new BoxDecoration(backgroundColor: 0xFF606060), 19 decoration: new BoxDecoration(backgroundColor: 0xFF606060),
43 child: flexRoot 20 child: flexRoot
44 ); 21 );
45 22
46 RenderNode child = new RenderSolidColor(0xFFFFFF00); 23 RenderNode child = new RenderSolidColorBox(0xFFFFFF00);
47 flexRoot.add(child); 24 flexRoot.add(child);
48 child.parentData.flex = 2; 25 child.parentData.flex = 2;
49 26
50 // The internet is a beautiful place. https://baconipsum.com/ 27 // The internet is a beautiful place. https://baconipsum.com/
51 String meatyString = """Bacon ipsum dolor amet ham fatback tri-tip, prosciutto 28 String meatyString = """Bacon ipsum dolor amet ham fatback tri-tip, prosciutto
52 porchetta bacon kevin meatball meatloaf pig beef ribs chicken. Brisket ribeye 29 porchetta bacon kevin meatball meatloaf pig beef ribs chicken. Brisket ribeye
53 andouille leberkas capicola meatloaf. Chicken pig ball tip pork picanha bresaola 30 andouille leberkas capicola meatloaf. Chicken pig ball tip pork picanha bresaola
54 alcatra. Pork pork belly alcatra, flank chuck drumstick biltong doner jowl. 31 alcatra. Pork pork belly alcatra, flank chuck drumstick biltong doner jowl.
55 Pancetta meatball tongue tenderloin rump tail jowl boudin."""; 32 Pancetta meatball tongue tenderloin rump tail jowl boudin.""";
56 33
57 child = new RenderDecoratedBox( 34 child = new RenderDecoratedBox(
58 decoration: new BoxDecoration(backgroundColor: 0xFFFFFFFF), 35 decoration: new BoxDecoration(backgroundColor: 0xFFFFFFFF),
59 child: new RenderParagraph(text: meatyString, color: 0xFF009900) 36 child: new RenderParagraph(text: meatyString, color: 0xFF009900)
60 ); 37 );
61 flexRoot.add(child); 38 flexRoot.add(child);
62 child.parentData.flex = 1; 39 child.parentData.flex = 1;
63 40
64 app = new AppView(root); 41 app = new AppView(root);
65 } 42 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698