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).
- Adds dartdoc for all the `of` functions.
- Renames Image to RawImage. This widget is rarely used and shouldn't take up
such a nice global name.
Fixes#361
TabBarView is-a PageableList, doesn't need itemExtent
Base TabBarView on PageableList so that itemExtent and its SizeObserver aren't needed.
TabBarView scrolling is still TBD.
Support an empty PageableList
Corrected support for PagebleList when zero items or no items are specified.
Added some final qualifiers in pageable_list.dart
Fix PageableList demo
PageableList's scrollBehavior depends on its itemsWrap property.
Also: deleted some commented out code that I'd forgotten to delete.
Revised PageableList et al
An itemExtent-computing SizeObserver is no longer needed to use PageableList. The PageableList just uses its own size as the itemExtent.
Added the itemsSnapAlignment property to PageableList which enables snapping scrolls to an adjacent item (the default), or any item boundary no not at all.
PageableList scrollOffsets now vary from 0.0 to itemCount instead of 0.0 to itemExtent * itemCount. Using logical coordinates instead of pixel coordinates means that the scroll position is insensitive to changes in the PageablList's size.
Added HomogenousPageViewport which is used by PageableList. HomogenousPageViewport scrollOffsets are defined as for PageableList.
Factored the (substantial) common parts of HomogenousViewport HomogenousPageViewport into a file private _ViewportBase class.
Removed PageableWidgetList. PageableList now just extends Scrollable. Moved PageableList into its own file.
Removed the pixel dependencies from ScrollBehavior. ScrollBehavior.createFlingSimulation() no longer sets the simulation's tolerance. The caller must do this instead.
Scrollable now uses pixelToScrollOffset() to convert from input gesture positions and velocities to scrollOffsets.
Fixes#710