- 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.
-
- 13 Nov, 2015 1 commit
-
-
Ian Hickson authored
-
- 10 Nov, 2015 2 commits
-
-
Adam Barth authored
Previously we would walk from every node in layout to the root to mark the root as needing paint. Now we leave dirty bits throughout the tree so that we can cut off the walk as soon as we find a dirty node.
-
Florian Loitsch authored
-
- 04 Nov, 2015 2 commits
-
-
Hixie authored
- change how we expose settings at the RenderObject layer so that it's easier to maintain. - expose the Widget owner chain in the RenderObject layer debug output - add debug info to RenderOpacity, RenderIgnorePointer, RenderListener - make the output for text nodes prettier
-
Adam Barth authored
Previously, we'd leave the old values in the parent data if the types matches, but not all render objects would reset these values during layout. For example, RenderProxyBox doesn't set the position field because it doesn't read the position field. However, leaving the old data there violates the invariants of the box protocol and can cause trouble (e.g., localToGlobal giving the wrong result). Fixes #1939
-
- 26 Oct, 2015 1 commit
-
-
Ian Hickson authored
Implements a mode that highlights RenderBoxes while events are being routed through them. Also, moves the size painting to after paint, so that opaque boxes don't obscure the debugging lines.
-
- 22 Oct, 2015 1 commit
-
-
Hixie authored
The magic for updating DebugSize's knowledge about whether it was allowed to be used by the parent or not previously failed to correctly deal with sizedByParent.
-
- 19 Oct, 2015 2 commits
-
-
Adam Barth authored
This widget is slow and not commonly used. The original reason we added it was to colorize images, but now that feature is built into the image and background image widgets. Fixes #1646
-
Adam Barth authored
We now just use Dart properties, which is more idiomatic.
-
- 16 Oct, 2015 2 commits
-
-
Hixie authored
(These are all the debugging-related fixes and trivial typo fixes that I extracted out of my heroes branch.) Fix rendering.dart import order. Introduce a debugLabel for Performances so that when you create a performance, you can tag it so that if later you print it out, you can figure out which performance it is. Allow the progress of a PerformanceView to be determined (but not set). Allow subclasses of PerformanceView that are constants to be created by defining a constant constructor for PerformanceView. Introduce a debugPrint() method that throttles its output. This is a test to see if it resolves the problems people have been having with debugDumpRenderTree() et al having their output corrupted on Android. It turns out (according to some things I read On The Internets) that Android only has a 64KB kernel buffer for its logs and and if you output to it too fast, it'll drop data on the floor. If this does in fact reliably resolve this problem, we should probably move the fix over to C++ land (where "print" is implemented) so that any use of print is handled (avoiding the interleaving problem we have now if you use both debugPrint() and print()). Fix a bug with the debugging code for "size". In the specific case of a RenderBox having a parent that doesn't set parentUsesSize, then later the parent setting parentUsesSize but the child having its layout short-circuited (e.g. because the constraints didn't change), we didn't update the _DebugSize object to know that now it's ok that the size be used by the parent, and we'd assert. Also, allow a _DebugSize to be used to set the size of yourself. Previously you could only set your size from a regular Size or from your child's _DebugSize. Add more debugging information to various Widgets where it might be helpful. Make GlobalKey's toString() include the runtimeType so that when subclassing it the new class doesn't claim to be a GlobalKey instance. Include the Widget's key in the Element's description since we don't include it in the detailed description normally (it's in the name part). Fix a test that was returning null from a route.
-
Adam Barth authored
The goal is to follow the guidelines in https://github.com/flutter/engine/blob/master/sky/specs/style-guide.md#packages Fixes #1638
-
- 15 Oct, 2015 1 commit
-
-
Hixie authored
Teach dumpRenderTree() to draw actual trees. Make the TextStyle output terser so it doesn't overflow the output. Make debugDumpApp() say what mode we're in (checked vs release). Hide lifecycle state from release mode dumps (since it's checked-only state).
-
- 14 Oct, 2015 1 commit
-
-
Hans Muller authored
Enabled displaying a scrollbar in ScrollingLists. The scrollbar is painted as an "overlay", i.e. it's painted on top of the scrolling list's visible children. Added an abstract Painter base class that encapsulates a paint method and the renderer that it's attached to. RenderBlockViewport and HomogenousViewport now support an overlayPainter property. If specified, RenderBlockViewport attaches itself to the overlayPainter when it's attached to the rendering tree. RenderBlockViewport now calls overlayPainter.paint() after it has painted its children. Added an abstract ScrollingListPainter class that exposes ScrollingList's state which might be needed for painting. Like its scroll direction and scrollOffset. The ScrollingListPainter is notified when a scroll starts and ends. Defined a Material-specific ScrollingListPainter that renders a scrollbar. The scrollbar thumb is faded in/out when the scroll starts/ends. Added onScrollStart and onScrollEnd listeners to Scrollable.
-
- 13 Oct, 2015 1 commit
-
-
Kris Giesing authored
-
- 12 Oct, 2015 1 commit
-
-
Hixie authored
Add type annotations in many places. Fix some identifiers to have more lint-satisfying names. Make all operator==s consistent in style. Reorder some functions for consistency. Make ParentData no longer dynamic, and fix all the code around that.
-
- 10 Oct, 2015 3 commits
-
-
Adam Barth authored
-
Adam Barth authored
-
Adam Barth authored
-
- 09 Oct, 2015 2 commits
- 08 Oct, 2015 1 commit
-
-
Hans Muller authored
Added horizontal and vertical alignment properties to Stack so that the origin of non-positioned children can be specified. Currently all of the non-positioned children just end up with their top-left at 0,0. Now, for example, you can center the children by specifying verticalAlignment: 0.5, horizontalAlignment: 0.5. Added IndexedStack which only paints the stack child specified by the index property. Since it's a Stack, it's as big as the biggest non-positioned child. This component will be essential for building mobile drop down menus. Added a (likely temporary) example that demonstrates IndexedStack.
-