Chromium Code Reviews| Index: sky/sdk/lib/framework/rendering/box.dart |
| diff --git a/sky/sdk/lib/framework/rendering/box.dart b/sky/sdk/lib/framework/rendering/box.dart |
| index ddbd78e63c41f7a5e9153a53d83fe5d6b5ef3c8e..bbed72e52d8b0ceca9cc131efa6ad2cf18a5fd1d 100644 |
| --- a/sky/sdk/lib/framework/rendering/box.dart |
| +++ b/sky/sdk/lib/framework/rendering/box.dart |
| @@ -432,8 +432,8 @@ class RenderShrinkWrapWidth extends RenderProxyBox { |
| } |
| } |
| -class RenderClip extends RenderProxyBox { |
| - RenderClip({ RenderBox child }) : super(child); |
| +class RenderClipRect extends RenderProxyBox { |
| + RenderClipRect({ RenderBox child }) : super(child); |
| void paint(RenderObjectDisplayList canvas) { |
| if (child != null) { |
| @@ -445,6 +445,21 @@ class RenderClip extends RenderProxyBox { |
| } |
| } |
| +class RenderClipCircle extends RenderProxyBox { |
|
Hixie
2015/06/10 22:34:16
Why is this called Circle? It doesn't seem to guar
|
| + RenderClipCircle({ RenderBox child }) : super(child); |
| + |
| + void paint(RenderObjectDisplayList canvas) { |
| + if (child != null) { |
| + canvas.saveLayer(new Rect.fromSize(size), new Paint()); |
|
abarth-chromium
2015/06/10 22:33:44
new Rect.fromSize(size)
We should use a local var
|
| + Path path = new Path(); |
| + path.addOval(new Rect.fromSize(size)); |
| + canvas.clipPath(path); |
| + child.paint(canvas); |
| + canvas.restore(); |
| + } |
| + } |
| +} |
| + |
| class RenderPadding extends RenderBox with RenderObjectWithChildMixin<RenderBox> { |
| RenderPadding({ EdgeDims padding, RenderBox child }) { |