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

Side by Side Diff: sky/sdk/lib/rendering/box.dart

Issue 1208993020: Change all child.paint calls to canvas.paintChild and update the test results. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 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
« no previous file with comments | « no previous file | sky/tests/examples/sector-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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:math' as math; 5 import 'dart:math' as math;
6 import 'dart:sky' as sky; 6 import 'dart:sky' as sky;
7 7
8 import 'package:vector_math/vector_math.dart'; 8 import 'package:vector_math/vector_math.dart';
9 9
10 import '../base/debug.dart'; 10 import '../base/debug.dart';
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 482
483 void hitTestChildren(HitTestResult result, { Point position }) { 483 void hitTestChildren(HitTestResult result, { Point position }) {
484 if (child != null) 484 if (child != null)
485 child.hitTest(result, position: position); 485 child.hitTest(result, position: position);
486 else 486 else
487 super.hitTestChildren(result, position: position); 487 super.hitTestChildren(result, position: position);
488 } 488 }
489 489
490 void paint(PaintingCanvas canvas, Offset offset) { 490 void paint(PaintingCanvas canvas, Offset offset) {
491 if (child != null) 491 if (child != null)
492 child.paint(canvas, offset); 492 canvas.paintChild(child, offset.toPoint());
493 } 493 }
494 494
495 } 495 }
496 496
497 class RenderConstrainedBox extends RenderProxyBox { 497 class RenderConstrainedBox extends RenderProxyBox {
498 RenderConstrainedBox({ 498 RenderConstrainedBox({
499 RenderBox child, 499 RenderBox child,
500 BoxConstraints additionalConstraints 500 BoxConstraints additionalConstraints
501 }) : super(child), _additionalConstraints = additionalConstraints { 501 }) : super(child), _additionalConstraints = additionalConstraints {
502 assert(additionalConstraints != null); 502 assert(additionalConstraints != null);
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 } 655 }
656 656
657 void paint(PaintingCanvas canvas, Offset offset) { 657 void paint(PaintingCanvas canvas, Offset offset) {
658 if (child != null) { 658 if (child != null) {
659 int a = (_opacity * 255).round(); 659 int a = (_opacity * 255).round();
660 660
661 if (a == 0) 661 if (a == 0)
662 return; 662 return;
663 663
664 if (a == 255) { 664 if (a == 255) {
665 child.paint(canvas, offset); 665 canvas.paintChild(child, offset.toPoint());
666 return; 666 return;
667 } 667 }
668 668
669 Paint paint = new Paint() 669 Paint paint = new Paint()
670 ..color = new Color.fromARGB(a, 0, 0, 0) 670 ..color = new Color.fromARGB(a, 0, 0, 0)
671 ..setTransferMode(sky.TransferMode.srcOver); 671 ..setTransferMode(sky.TransferMode.srcOver);
672 canvas.saveLayer(null, paint); 672 canvas.saveLayer(null, paint);
673 child.paint(canvas, offset); 673 canvas.paintChild(child, offset.toPoint());
674 canvas.restore(); 674 canvas.restore();
675 } 675 }
676 } 676 }
677 } 677 }
678 678
679 class RenderColorFilter extends RenderProxyBox { 679 class RenderColorFilter extends RenderProxyBox {
680 RenderColorFilter({ RenderBox child, Color color, sky.TransferMode transferMod e }) 680 RenderColorFilter({ RenderBox child, Color color, sky.TransferMode transferMod e })
681 : _color = color, _transferMode = transferMode, super(child) { 681 : _color = color, _transferMode = transferMode, super(child) {
682 } 682 }
683 683
(...skipping 15 matching lines...) Expand all
699 return; 699 return;
700 _transferMode = value; 700 _transferMode = value;
701 markNeedsPaint(); 701 markNeedsPaint();
702 } 702 }
703 703
704 void paint(PaintingCanvas canvas, Offset offset) { 704 void paint(PaintingCanvas canvas, Offset offset) {
705 if (child != null) { 705 if (child != null) {
706 Paint paint = new Paint() 706 Paint paint = new Paint()
707 ..setColorFilter(new sky.ColorFilter.mode(_color, _transferMode)); 707 ..setColorFilter(new sky.ColorFilter.mode(_color, _transferMode));
708 canvas.saveLayer(null, paint); 708 canvas.saveLayer(null, paint);
709 child.paint(canvas, offset); 709 canvas.paintChild(child, offset.toPoint());
710 canvas.restore(); 710 canvas.restore();
711 } 711 }
712 } 712 }
713 } 713 }
714 714
715 class RenderClipRect extends RenderProxyBox { 715 class RenderClipRect extends RenderProxyBox {
716 RenderClipRect({ RenderBox child }) : super(child); 716 RenderClipRect({ RenderBox child }) : super(child);
717 717
718 void paint(PaintingCanvas canvas, Offset offset) { 718 void paint(PaintingCanvas canvas, Offset offset) {
719 if (child != null) { 719 if (child != null) {
720 canvas.save(); 720 canvas.save();
721 canvas.clipRect(offset & size); 721 canvas.clipRect(offset & size);
722 child.paint(canvas, offset); 722 canvas.paintChild(child, offset.toPoint());
723 canvas.restore(); 723 canvas.restore();
724 } 724 }
725 } 725 }
726 } 726 }
727 727
728 class RenderClipRRect extends RenderProxyBox { 728 class RenderClipRRect extends RenderProxyBox {
729 RenderClipRRect({ RenderBox child, double xRadius, double yRadius }) 729 RenderClipRRect({ RenderBox child, double xRadius, double yRadius })
730 : _xRadius = xRadius, _yRadius = yRadius, super(child) { 730 : _xRadius = xRadius, _yRadius = yRadius, super(child) {
731 assert(_xRadius != null); 731 assert(_xRadius != null);
732 assert(_yRadius != null); 732 assert(_yRadius != null);
(...skipping 18 matching lines...) Expand all
751 _yRadius = value; 751 _yRadius = value;
752 markNeedsPaint(); 752 markNeedsPaint();
753 } 753 }
754 754
755 void paint(PaintingCanvas canvas, Offset offset) { 755 void paint(PaintingCanvas canvas, Offset offset) {
756 if (child != null) { 756 if (child != null) {
757 Rect rect = offset & size; 757 Rect rect = offset & size;
758 canvas.saveLayer(rect, new Paint()); 758 canvas.saveLayer(rect, new Paint());
759 sky.RRect rrect = new sky.RRect()..setRectXY(rect, xRadius, yRadius); 759 sky.RRect rrect = new sky.RRect()..setRectXY(rect, xRadius, yRadius);
760 canvas.clipRRect(rrect); 760 canvas.clipRRect(rrect);
761 child.paint(canvas, offset); 761 canvas.paintChild(child, offset.toPoint());
762 canvas.restore(); 762 canvas.restore();
763 } 763 }
764 } 764 }
765 } 765 }
766 766
767 class RenderClipOval extends RenderProxyBox { 767 class RenderClipOval extends RenderProxyBox {
768 RenderClipOval({ RenderBox child }) : super(child); 768 RenderClipOval({ RenderBox child }) : super(child);
769 769
770 void paint(PaintingCanvas canvas, Offset offset) { 770 void paint(PaintingCanvas canvas, Offset offset) {
771 if (child != null) { 771 if (child != null) {
772 Rect rect = offset & size; 772 Rect rect = offset & size;
773 canvas.saveLayer(rect, new Paint()); 773 canvas.saveLayer(rect, new Paint());
774 Path path = new Path(); 774 Path path = new Path();
775 path.addOval(rect); 775 path.addOval(rect);
776 canvas.clipPath(path); 776 canvas.clipPath(path);
777 child.paint(canvas, offset); 777 canvas.paintChild(child, offset.toPoint());
778 canvas.restore(); 778 canvas.restore();
779 } 779 }
780 } 780 }
781 } 781 }
782 782
783 abstract class RenderShiftedBox extends RenderBox with RenderObjectWithChildMixi n<RenderBox> { 783 abstract class RenderShiftedBox extends RenderBox with RenderObjectWithChildMixi n<RenderBox> {
784 784
785 // Abstract class for one-child-layout render boxes 785 // Abstract class for one-child-layout render boxes
786 786
787 RenderShiftedBox(RenderBox child) { 787 RenderShiftedBox(RenderBox child) {
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
1435 1435
1436 void defaultPaint(PaintingCanvas canvas, Offset offset) { 1436 void defaultPaint(PaintingCanvas canvas, Offset offset) {
1437 RenderBox child = firstChild; 1437 RenderBox child = firstChild;
1438 while (child != null) { 1438 while (child != null) {
1439 assert(child.parentData is ParentDataType); 1439 assert(child.parentData is ParentDataType);
1440 canvas.paintChild(child, child.parentData.position + offset); 1440 canvas.paintChild(child, child.parentData.position + offset);
1441 child = child.parentData.nextSibling; 1441 child = child.parentData.nextSibling;
1442 } 1442 }
1443 } 1443 }
1444 } 1444 }
OLDNEW
« no previous file with comments | « no previous file | sky/tests/examples/sector-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698