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#53Fixes#1221
One Scaffold layout to rule them all
Expanded the existing CustomMultiChildLayout to handle all of the Scaffold's children.
This change also eliminates the FAB input dead-zone.
Make all the *GestureRecognizer classes inherit from a class called
GestureRecognizer. Give the old GestureRecognizer a name that is more
precise about its purpose. Remove the members of GestureArenaMember that
aren't used by GestureArenas.
- 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
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
Document the Gesture Detector constants.
Remove kEdgeSlop since it's obsolete on Android.
Add a test that verifies that when the first tap is canceled, the second
tap can become the first tap of a subsequent two-tap sequence.
Add support for "extended height" toolbars - ToolBar bottom
Added a Widget-valued bottom ToolBar property. If set the bottom widget appears below the normal toolbar.
Removed the kToolBarHeight hardwiring from Scaffold.
Updated the "swipe away" demo to use an extended height toolbar.
Previously, we passed widgets up the hierarchy to display them in the overlay,
but that breaks the change propagation logic because those widgets won't get
rebuilt. Now we pass WidgetBuilders instead, which can be rebuilt when the
overlay rebuilds.
Fixes#1913