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:math' as math; | 5 import 'dart:math' as math; |
6 import 'dart:sky' as sky; | 6 import 'dart:sky' as sky; |
7 import 'package:sky/framework/app.dart'; | 7 import 'package:sky/framework/app.dart'; |
8 import 'package:sky/framework/rendering/box.dart'; | 8 import 'package:sky/framework/rendering/box.dart'; |
9 import 'package:sky/framework/rendering/object.dart'; | 9 import 'package:sky/framework/rendering/object.dart'; |
10 | 10 |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
394 markNeedsLayout(); | 394 markNeedsLayout(); |
395 } | 395 } |
396 | 396 |
397 void setParentData(RenderObject child) { | 397 void setParentData(RenderObject child) { |
398 if (child.parentData is! SectorParentData) | 398 if (child.parentData is! SectorParentData) |
399 child.parentData = new SectorParentData(); | 399 child.parentData = new SectorParentData(); |
400 } | 400 } |
401 | 401 |
402 sky.Size getIntrinsicDimensions(BoxConstraints constraints) { | 402 sky.Size getIntrinsicDimensions(BoxConstraints constraints) { |
403 if (child == null) | 403 if (child == null) |
404 return constraints.constrain(new sky.Size(0.0, 0.0)); | 404 return constraints.constrain(sky.Size.zero); |
Hixie
2015/06/08 17:01:53
You should be able to remove the sky. part now.
| |
405 assert(child is RenderSector); | 405 assert(child is RenderSector); |
406 assert(child.parentData is SectorParentData); | 406 assert(child.parentData is SectorParentData); |
407 assert(!constraints.isInfinite); | 407 assert(!constraints.isInfinite); |
408 double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.maxH eight) / 2.0 - innerRadius; | 408 double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.maxH eight) / 2.0 - innerRadius; |
409 SectorDimensions childDimensions = child.getIntrinsicDimensions(new SectorCo nstraints(maxDeltaRadius: maxChildDeltaRadius), innerRadius); | 409 SectorDimensions childDimensions = child.getIntrinsicDimensions(new SectorCo nstraints(maxDeltaRadius: maxChildDeltaRadius), innerRadius); |
410 double dimension = (innerRadius + childDimensions.deltaRadius) * 2.0; | 410 double dimension = (innerRadius + childDimensions.deltaRadius) * 2.0; |
411 return constraints.constrain(new sky.Size(dimension, dimension)); | 411 return constraints.constrain(new sky.Size(dimension, dimension)); |
412 } | 412 } |
413 | 413 |
414 void performLayout() { | 414 void performLayout() { |
415 if (child == null) { | 415 if (child == null) { |
416 size = constraints.constrain(new sky.Size(0.0, 0.0)); | 416 size = constraints.constrain(sky.Size.zero); |
417 } else { | 417 } else { |
418 assert(child is RenderSector); | 418 assert(child is RenderSector); |
419 assert(!constraints.isInfinite); | 419 assert(!constraints.isInfinite); |
420 print("constraint maxes: ${constraints.maxWidth} and ${constraints.maxHeig ht}"); | 420 print("constraint maxes: ${constraints.maxWidth} and ${constraints.maxHeig ht}"); |
421 double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.ma xHeight) / 2.0 - innerRadius; | 421 double maxChildDeltaRadius = math.min(constraints.maxWidth, constraints.ma xHeight) / 2.0 - innerRadius; |
422 print("maxChildDeltaRadius = $maxChildDeltaRadius"); | 422 print("maxChildDeltaRadius = $maxChildDeltaRadius"); |
423 assert(child.parentData is SectorParentData); | 423 assert(child.parentData is SectorParentData); |
424 child.parentData.radius = innerRadius; | 424 child.parentData.radius = innerRadius; |
425 child.parentData.theta = 0.0; | 425 child.parentData.theta = 0.0; |
426 child.layout(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), p arentUsesSize: true); | 426 child.layout(new SectorConstraints(maxDeltaRadius: maxChildDeltaRadius), p arentUsesSize: true); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
499 rootCircle.add(new RenderSolidColor(const sky.Color(0xFF0000FF), desiredDeltaT heta: kTwoPi * 0.4)); | 499 rootCircle.add(new RenderSolidColor(const sky.Color(0xFF0000FF), desiredDeltaT heta: kTwoPi * 0.4)); |
500 var stack = new RenderSectorSlice(padding: 2.0); | 500 var stack = new RenderSectorSlice(padding: 2.0); |
501 stack.add(new RenderSolidColor(const sky.Color(0xFFFFFF00), desiredDeltaRadius : 20.0)); | 501 stack.add(new RenderSolidColor(const sky.Color(0xFFFFFF00), desiredDeltaRadius : 20.0)); |
502 stack.add(new RenderSolidColor(const sky.Color(0xFFFF9000), desiredDeltaRadius : 20.0)); | 502 stack.add(new RenderSolidColor(const sky.Color(0xFFFF9000), desiredDeltaRadius : 20.0)); |
503 stack.add(new RenderSolidColor(const sky.Color(0xFF00FF00))); | 503 stack.add(new RenderSolidColor(const sky.Color(0xFF00FF00))); |
504 rootCircle.add(stack); | 504 rootCircle.add(stack); |
505 | 505 |
506 var root = new RenderBoxToRenderSectorAdapter(innerRadius: 50.0, child: rootCi rcle); | 506 var root = new RenderBoxToRenderSectorAdapter(innerRadius: 50.0, child: rootCi rcle); |
507 app = new AppView(root); | 507 app = new AppView(root); |
508 } | 508 } |
OLD | NEW |