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/node.dart'; | 9 import 'package:sky/framework/rendering/node.dart'; |
10 | 10 |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 if (theta > child.deltaTheta) | 456 if (theta > child.deltaTheta) |
457 return false; | 457 return false; |
458 child.hitTest(result, radius: radius, theta: theta); | 458 child.hitTest(result, radius: radius, theta: theta); |
459 result.add(this); | 459 result.add(this); |
460 return true; | 460 return true; |
461 } | 461 } |
462 | 462 |
463 } | 463 } |
464 | 464 |
465 class RenderSolidColor extends RenderDecoratedSector { | 465 class RenderSolidColor extends RenderDecoratedSector { |
466 RenderSolidColor(int backgroundColor, { | 466 RenderSolidColor(sky.Color backgroundColor, { |
467 this.desiredDeltaRadius: double.INFINITY, | 467 this.desiredDeltaRadius: double.INFINITY, |
468 this.desiredDeltaTheta: kTwoPi | 468 this.desiredDeltaTheta: kTwoPi |
469 }) : this.backgroundColor = backgroundColor, | 469 }) : this.backgroundColor = backgroundColor, |
470 super(new BoxDecoration(backgroundColor: backgroundColor)); | 470 super(new BoxDecoration(backgroundColor: backgroundColor)); |
471 | 471 |
472 double desiredDeltaRadius; | 472 double desiredDeltaRadius; |
473 double desiredDeltaTheta; | 473 double desiredDeltaTheta; |
474 final int backgroundColor; | 474 final sky.Color backgroundColor; |
475 | 475 |
476 SectorDimensions getIntrinsicDimensions(SectorConstraints constraints, double
radius) { | 476 SectorDimensions getIntrinsicDimensions(SectorConstraints constraints, double
radius) { |
477 return new SectorDimensions.withConstraints(constraints, deltaTheta: 1.0); /
/ 1.0 radians | 477 return new SectorDimensions.withConstraints(constraints, deltaTheta: 1.0); /
/ 1.0 radians |
478 } | 478 } |
479 | 479 |
480 void performLayout() { | 480 void performLayout() { |
481 deltaRadius = constraints.constrainDeltaRadius(desiredDeltaRadius); | 481 deltaRadius = constraints.constrainDeltaRadius(desiredDeltaRadius); |
482 deltaTheta = constraints.constrainDeltaTheta(desiredDeltaTheta); | 482 deltaTheta = constraints.constrainDeltaTheta(desiredDeltaTheta); |
483 } | 483 } |
484 | 484 |
485 void handlePointer(sky.PointerEvent event) { | 485 void handlePointer(sky.PointerEvent event) { |
486 if (event.type == 'pointerdown') | 486 if (event.type == 'pointerdown') |
487 decoration = new BoxDecoration(backgroundColor: 0xFFFF0000); | 487 decoration = new BoxDecoration(backgroundColor: sky.Color.red); |
488 else if (event.type == 'pointerup') | 488 else if (event.type == 'pointerup') |
489 decoration = new BoxDecoration(backgroundColor: backgroundColor); | 489 decoration = new BoxDecoration(backgroundColor: backgroundColor); |
490 } | 490 } |
491 } | 491 } |
492 | 492 |
493 AppView app; | 493 AppView app; |
494 | 494 |
495 void main() { | 495 void main() { |
496 | 496 |
497 var rootCircle = new RenderSectorRing(padding: 20.0); | 497 var rootCircle = new RenderSectorRing(padding: 20.0); |
498 rootCircle.add(new RenderSolidColor(0xFF00FFFF, desiredDeltaTheta: kTwoPi * 0.
15)); | 498 rootCircle.add(new RenderSolidColor(const sky.Color(0xFF00FFFF), desiredDeltaT
heta: kTwoPi * 0.15)); |
499 rootCircle.add(new RenderSolidColor(0xFF0000FF, desiredDeltaTheta: kTwoPi * 0.
4)); | 499 rootCircle.add(new RenderSolidColor(sky.Color.blue, desiredDeltaTheta: kTwoPi
* 0.4)); |
500 var stack = new RenderSectorSlice(padding: 2.0); | 500 var stack = new RenderSectorSlice(padding: 2.0); |
501 stack.add(new RenderSolidColor(0xFFFFFF00, desiredDeltaRadius: 20.0)); | 501 stack.add(new RenderSolidColor(const sky.Color(0xFFFFFF00), desiredDeltaRadius
: 20.0)); |
502 stack.add(new RenderSolidColor(0xFFFF9000, desiredDeltaRadius: 20.0)); | 502 stack.add(new RenderSolidColor(const sky.Color(0xFFFF9000), desiredDeltaRadius
: 20.0)); |
503 stack.add(new RenderSolidColor(0xFF00FF00)); | 503 stack.add(new RenderSolidColor(sky.Color.green)); |
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 |