- 14 Mar, 2016 1 commit
-
-
Hixie authored
-
- 12 Mar, 2016 1 commit
-
-
Adam Barth authored
Fixes #1382
-
- 11 Mar, 2016 1 commit
-
-
Adam Barth authored
Transform applies its transform before painting, but sometimes you want the widget to layout after its transform has been applied. We can't handle general tranforms in this way because we can't couple width and height constriants, but we can handle certain rotations. Fixes #1214
-
- 08 Mar, 2016 1 commit
-
-
Adam Barth authored
This patch tweaks the definition of max intrinsic size to give implementations more wiggle room to compute there intrinsic sizes more efficiently. Specifically, implementations can now ignore the incomming constraint in the cross axis if they prefer. This patch removes an assert that is no longer valid w.r.t. the new definition of intrinsic sizing. Fixes #2099
-
- 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
-