- 09 Feb, 2016 1 commit
-
-
Adam Barth authored
There aren't any clients anymore. Fixes #1684
-
- 06 Feb, 2016 1 commit
-
-
Adam Barth authored
This patch includes documentation for transitions.dart and for scrollable.dart.
-
- 05 Feb, 2016 1 commit
-
-
Hixie authored
* Use actual exceptions rather than assertions containing code containing strings when trying to give messages to authors. * Introduce RenderingError which is an AssertionError that takes a string argument, to support the above. * Provide a BoxDimensions.hasBoundedWidth/hasBoundedHeight API. * Document BoxDimensions.isNormalized. * Provide more useful information when we assert isNormalized and find that it is false. * When finding the size is infinite, crawl the tree to figure out which render box is likely responsible for the infinite constraints. * Provide more information when size doesn't match the constraints. * Provide more information when intrinsic dimension methods violate the constraints. * Only spam a huge amount of information for the first exception from the rendering library. I've noticed a lot of people looking at the last exception printed rather than the first and that's very misleading -- after the rendering library hits an exception, all bets are off regarding what'll happen in the future. All kinds of asserts might fire. * Improve docs around the debug methods and flags for the above. * Make Block default to have no children. Previously, giving no children crashed with a confusing message about a null deref in an assert.
-
- 03 Feb, 2016 1 commit
-
-
Adam Barth authored
This patch sketches out the basic widgets for creating Mozart child views. We're still missing some of the machinery, so we can't quite create child views yet, but once we supply the ViewHost and teach the compositor how to actually display the child scenes, we'll have something that works.
-
- 02 Feb, 2016 1 commit
-
-
Adam Barth authored
We were getting confused about our layer tree offsets, which caused us to set an incorrect cull rect for the recording inside a viewport. This patch does away with layer tree offsets almost entirely. We now use them only at repaint boundaries, which is where we want the layer tree to be mutable. Fixes #1460
-
- 29 Jan, 2016 1 commit
-
-
Hixie authored
-
- 27 Jan, 2016 2 commits
-
-
Hixie authored
-
Adam Barth authored
This patch changes the framework to walk the child list forwards so that build functions with global side effects do sensible things. Specifically, if you have a number of autofocusable children, the first one the list will acquire the focus because it gets built first now. Fixes #182
-
- 18 Jan, 2016 1 commit
-
-
Ian Hickson authored
RenderBlock wasn't constraining the results. RenderPadding wasn't constraining the results (which matters especially when the constraints can't fit the padding in the first place). RenderViewport wasn't constraining the results. Add a test for the block case. To catch this kind of thing in the future, add some asserts to debugDoesMeetConstraints() that all four intrinsic functions return values that are within the constraints. RenderBlockViewport doesn't support returning intrinsics, so turn off the "no intrinsic support" asserts (and return zero) when we're doing this new assert. This new assert screwed up the custom layout classes' tests, so adjust those tests to ignore the callbacks invoked from these asserts. Add to the _debugReportException() method a short summary of the descendants of this node. It's important to have this information when debugging errors like these intrinsic constraints contract violations because often nodes just pass the values through to their child so you have to go several steps down to find the actual problem. Fixes https://github.com/flutter/flutter/issues/1210
-
- 12 Jan, 2016 4 commits
-
-
Adam Barth authored
We were painting the contents of the RRect clip at the wrong offset. This patch makes RRect match Rect and Path clips. Fixes #1194
-
Adam Barth authored
Fixes #961
-
Adam Barth authored
We no longer need to pass bounds to SceneBuilder. Instead, the compositor computes these bounds itself from the RTrees in the SkPictures.
-
Adam Barth authored
This patch adds ShaderLayer and makes ShaderMask use it. Fixes #1155
-
- 11 Jan, 2016 3 commits
-
-
Adam Barth authored
We don't know how to accuately compute paint bounds in the render tree. Instead, we can rely on the compositor to compute the paint bounds for us if we use OpacityLayer to do our opacity blends. Fixes the shadow when closing the menu in the stocks app.
-
Adam Barth authored
Also, introduce alwaysNeedsCompositing to force the "needs compositing" bit to true without necessarily introducing a ContainerLayer into the layer tree. A future patch will make use of alwaysNeedsCompositing to optimize opacity layers.
-
Ian Hickson authored
-
- 08 Jan, 2016 2 commits
-
-
Ian Hickson authored
See: https://github.com/flutter/flutter/issues/1080
-
Adam Barth authored
Previously, we triggered a layout (and hence a repaint) when sliding the draw because we gave the draw loose constraints. The drawer uses an Align to move itself to the proper side of the screen, so it can have tight constraints, which makes it a layout boundary. Also, don't trigger a layout just because the Scaffold rebuilds. There isn't any state in the scaffold custom layout, so it doesn't need to repaint just because we created a new instance of the delegate. Finally, add the debugging infrastructure I used to find these issues.
-
- 07 Jan, 2016 2 commits
-
-
Ian Hickson authored
- make them all have the same style - make them all include the stack trace last - make them all stop printing if their callback is set (if appropriate, they don't yet all have callbacks)
-
Ian Hickson authored
I think I wanted to use this at some point but ended up going a different direction. Instead, object.dart has a private field that serves a similar purpose.
-
- 02 Jan, 2016 1 commit
-
-
Adam Barth authored
When assigning a new overlayPainter, we were detaching the old overlay painter even if the render object itself wasn't attached. Now we only twiddle the attach/detach state of the overlay painter when we're attached ourselves. Fixes #1047
-
- 17 Dec, 2015 1 commit
-
-
Hixie authored
Use the same technique for updating compositing bits as layout and painting. This avoids walking the entire rendering tree when all you need to update is a small subtree.
-
- 16 Dec, 2015 1 commit
-
-
Hixie authored
-
- 14 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 11 Dec, 2015 1 commit
-
-
Ian Hickson authored
Previously, applyPaintTransform() had to know how it was positioned in its parent, even though that's really the parent's responsibility. Now, applyPaintTransform() is given a child and applies the transform that it would give the child during paint. This makes it possible for applyPaintTransform() to work across coordinate system boundaries (e.g. box to sector, or view to box -- previously, view to box only worked because we explicitly skipped that step -- since view doesn't actually apply a transform, it doesn't really matter).
-
- 10 Dec, 2015 1 commit
-
-
Hixie authored
debugDoingPaint is an internal flag and really shouldn't be globally settable.
-
- 09 Dec, 2015 1 commit
-
-
Ian Hickson authored
Add BoxConstraints.isNormalized feature. Use this feature in asserts in all the intrinsic dimension methods, in various relevant BoxConstraints methods, and in layout(). Wrap the _DebugSize logic in BoxConstraints.constrain() in an assert block to avoid a branch in release mode. Remove the logic in BoxConstraints.isSatisfiedBy() that dealt with non-normalized values. Add BoxConstraints.normalize(). Make RenderCustomOneChildLayoutBox.performLayout() only set parentUsesSize on the child if the constraints aren't tight.
-
- 08 Dec, 2015 1 commit
-
-
Collin Jackson authored
-
- 05 Dec, 2015 2 commits
-
-
Ian Hickson authored
Instead of PointerInputEvent having a "type" field, we now have a different class for each pointer type. This has ripple effects throughout the system. I also did code cleanup in affected files while I was there.
-
Adam Barth authored
We can just use Canvas now. The two are the same thing.
-
- 02 Dec, 2015 1 commit
-
-
Florian Loitsch authored
-
- 01 Dec, 2015 1 commit
-
-
Ian Hickson authored
Some paint bounds are in fact empty, e.g. at the start of a growing animation if there's also a fade, the initial 0x0 box will also be opacity:0, and might get a dedicated layer and PaintingContext.
-
- 26 Nov, 2015 1 commit
-
-
Hixie authored
-
- 25 Nov, 2015 1 commit
-
-
Hixie authored
Turns out we passed the wrong bounds to the PaintingContext constructor. Fix, and assert that we don't do that again.
-
- 19 Nov, 2015 5 commits
-
-
Adam Barth authored
The repaint raindbow tints each recording with a rotating set of colors so you can see which pixels are repainting each frame.
-
Adam Barth authored
To help debugging issues with the layer tree.
-
Adam Barth authored
We lost this feature at some point. This patch brings it back.
-
Adam Barth authored
This pattern breaks when using compositing because we need to lift those operations into the compositing tree. This patch removes all the ones I could find and adds an assert to help prevent more from getting introduced. Fixes #191
-
Adam Barth authored
This patch simplifies PaintingContext with several goals: 1) We now call a callback instead of assuming the caller has a single child to paint. This change will let us handle render objects that wish to paint more than one child. 2) We now avoid creating lots of empty picture layers because we don't eagerly start recording pictures. Instead, we wait for the first caller to touch the canvas before creating the picture recorder. 3) We now are more consistent about which values have incorporated the painting offset.
-
- 18 Nov, 2015 1 commit
-
-
Adam Barth authored
This change will let us remove the tracing interface from dart:ui and also makes these timeline events show up in Observatory.
-