This ensures we don't run into discontinuities when reversing an
animation halfway through. I refactored AnimationValue to have knowledge
of the reverse curves and intervals.
This refactors Checkbox to own a RenderObject similar to how Switch was
refactored in https://github.com/domokit/sky_engine/pull/376 and
extracts common functionality for toggleable renderers into a base
class. Switch and Checkbox's render objects derive from this base
class to add their own custom painting and theming logic.
This introduces the notion of event disposition and allows event
targets (widgets and render objects) to consume events that should not
be processed further. This is needed by the Switch component in the
Drawer in the stocks example. The Switch is embedded in a DrawerItem.
The Switch handles the gesture tap event to toggle its state and should
handle pointer events to allow swiping and draw its own radial
reaction. The DrawerItem also handles gesture taps to allow toggling
the switch value when tapping anywhere on the drawer and to draw its
own ink splash. When tapping on the switch, both the switch's render
object and the DrawerItem's listener are in the event dispatch path.
The Switch needs to signal in some fashion that it consumed the event
so the DrawerItem does not also try to toggle the switch's state.
When a ScrollableBlock can scroll, we want to be able to drag into the
overscroll region. Previously we could fling into the overscroll region, but we
couldn't actually drag there.
When this README.md is published to pub.dartlang.org, the base URL is
pub.dartlang.org. We need to use absolute URLs in order to get back to GitHub.
Fixes#417
We were applying the style to the RenderInline but we actually needed to apply
it to the RenderParagraph. The lineHeight property had the same problem.
We were marking the parent *Widget's* render object as needing layout, but
we actually need to walk up the component tree until we find the parent
*RenderObjectWrapper* so we can mark actually mark the parent render object as
needing layout.
Fixes#408