- 23 Feb, 2016 1 commit
-
-
Hixie authored
Turns out we don't need 'parent' outside the assert at all.
-
- 14 Feb, 2016 1 commit
-
-
Ian Hickson authored
...so that it's easier to copy/paste between the rendering and settings layers.
-
- 11 Feb, 2016 1 commit
-
-
Ian Hickson authored
Each layer is supposed to reexport the parts of the previous layer that are part of its API. - In painting.dart, export from dart:ui all the Canvas-related APIs that make sense to be used at higher levels, e.g. PaintingStyle. - Delete painting/shadows.dart. It was dead code. - In rendering/object.dart, export all of painting.dart. - In widgets/basic.dart, export all of painting.dart and animation.dart. Some classes in animation/ are renamed to make this less disruptive and confusing to the namespace. - Split out Stocks back into an import model rather than a part model, so that it's easier to manage its dependencies on a per-file basis. - Move Ticker to scheduler library. - Remove as many redundant imports as possible now. - Some minor nit picking cleanup in various files.
-
- 10 Feb, 2016 2 commits
-
-
Hixie authored
The asserting will continue until morale improves! * Convert all assert(*.isNormalized) checks to use the new debugAssertIsNormalized technology. * Convert CustomMultiChildLayout to use the new RenderingError technology to greatly improve the detail in errors you get when writing CustomMultiChildLayout delegates. * Add BoxConstraints.copyWith(). * Indent the descendants in the rendering exception data dump so that when you have multiple children it's clearer what's going on.
-
Hixie authored
Negative constraints never make sense, so catch those too. Make RenderObject.layout's isNormalized assert use the newer more fancy debug version of isNormalized.
-
- 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.
-
- 27 Jan, 2016 1 commit
-
-
Hixie authored
-
- 20 Jan, 2016 1 commit
-
-
Adam Barth authored
There should be no more uses of Performance or AnimatedValue in the framework or the examples.
-
- 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
-
- 15 Jan, 2016 1 commit
-
-
Seth Ladd authored
-
- 13 Jan, 2016 1 commit
-
-
Adam Barth authored
No you can't hit things inside degenerate transforms. Tranforming from global coordaintes to degenerate local coordinates gives you Point.origin. Also, upgrade vector_math to get a better invert constructor. Fixes #1161 Fixes #1224
-
- 12 Jan, 2016 1 commit
-
-
Adam Barth authored
Fixes #961
-
- 11 Jan, 2016 2 commits
-
-
Adam Barth authored
We use the ScrollDirection for more than just scrolling. Fixes #151
-
Ian Hickson authored
This makes it more consistent with tightFor(), and also makes it easier to tighten both directions at once when you're not sure you will always do so (e.g. if you have a height and width that might be null, and want to tighten whichever ones aren't null).
-
- 09 Jan, 2016 1 commit
-
-
Ian Hickson authored
- padding is shown in blue with a darker blue around the child - spacing (empty size boxes or padding) is shown in gray - alignment from a RenderPositionedBox is shown with yellow arrows
-
- 02 Jan, 2016 2 commits
-
-
Adam Barth authored
This patch make grid layout much more flexible. The behavior is factored out into a GridDelegate that's modeled after the custom layout delegates. The patch includes a MaxTileWidthGridDelegate that implements the old behavior and a FixedColumnCountGridDelegate that implements a grid layout with a fixed number of columns. Fixes #1048
-
Adam Barth authored
Previously we used Position, which makes it harder to accumulate offsets when walking the render tree.
-
- 16 Dec, 2015 1 commit
-
-
Hixie 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 2 commits
-
-
Adam Barth authored
Fixes #566
-
Ian Hickson authored
-
- 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
-
-
Ian Hickson authored
Factor out a reusable interface called Decoration from BoxDecoration. Make all the consumers of BoxDecoration and the erstwhile BoxPainter into consumers of Decoration. Make a BoxPainter be something you get from a Decoration, rather than something to which you pass a BoxDecoration. Rename Shape to BoxShape now that it's documented specifically as applying to boxes. Move EdgeDims to its own file. Move FractionalOffset up so that it's with the other helper classes in its file rather than alone at the end. Minor change to RenderClipOval's hit testing to avoid taking an unnecessary square root. Rename BoxDecorationPosition to DecorationPosition since RenderDecoratedBox now takes any Decoration. Implement hit testing for rounded rects. Rename AnimatedBoxDecorationValue to AnimatedDecorationValue, and make it support lerping across any Decoration (by deferring to the objects involved).
-
- 05 Dec, 2015 1 commit
-
-
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.
-
- 20 Nov, 2015 1 commit
-
-
Tony Gentilcore authored
-
- 19 Nov, 2015 1 commit
-
-
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.
-
- 13 Nov, 2015 2 commits
-
-
Ian Hickson authored
-
Ian Hickson authored
- Drop the unused BindingHitTestEntry class. (Well, it was constructed, but its member was never used, so it wasn't doing anything a boring old HitTestEntry couldn't already do.) - Add toString()s to HitTestEntry and HitTestResult, to aid in debugging hit-test related code.
-
- 06 Nov, 2015 2 commits
-
-
Adam Barth authored
Inside runApp, we were building the render tree for the app, but we weren't calling layout, which meant we were running a hit test on a dirty tree. Now hitTest specifically asserts that the tree is clean and we synchronously call layout for your app during runApp. Fixes #1960
-
Hans Muller authored
-
- 05 Nov, 2015 1 commit
-
-
Adam Barth authored
Now a RenderBox is considered hit if one of its children are hit or it itself decides that it's hit. In particular, empty space inside a flex won't be hit because none of the children are located there and a RenderFlex doesn't consider itself hittable. Fixes #53 Fixes #1221
-
- 04 Nov, 2015 1 commit
-
-
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
-
- 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.
-
- 20 Oct, 2015 1 commit
-
-
Adam Barth authored
Fixes #1702
-
- 19 Oct, 2015 1 commit
-
-
Adam Barth authored
It was confusing as to whether these were fractions or pixels. Fixes #1622
-
- 18 Oct, 2015 1 commit
-
-
Hixie authored
- truncate pixel values to 1dp since there's really no point being told the Size is 302.98732587287 by 648.28498579187. - describe more Widgets so that debugDumpApp() is more useful. - remove bufferValue from ProgressIndicator (cc @hansmuller) since it's not yet implemented. - half-hearted toString() for ThemeData. There's no point making a complete one, since it would cause line-wrap even on big monitors in debugDumpApp dumps, and you can easily get the actual values from a debugging if that's the issue. - flesh out BoxConstraints.toString() so that fully unconstrained and fully infinite constraints are called out explicitly. I experimented with adding even more special cases, e.g. calling out unconstrained widths with fixed heights, etc, but it made the output less readable. - remove a redundant _updateVariable() in AnimatedContainer (cc @abarth). - add more information to RenderView.toString().
-
- 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
-
- 13 Oct, 2015 1 commit
-
-
Hixie authored
Also, fix warnings in rendering/sector_layout.dart Also, fix hit testing in rendering/sector_layout.dart Also, add WidgetToRenderBoxAdapter Also, make the rendering library debugging tools more resilient to dumping stuff before layout is complete.
-