17 Commits

Author SHA1 Message Date
Hans Muller
d6756f1900 Removed unneeded tabs.dart import, updated tests 2015-08-25 10:24:58 -07:00
Hixie
7d9f52479e Improvements for Layers logic
- Introduce some new Layer classes.
- Introduce paintChildWith* methods.
- Convert paint() methods to use paintChildWith* where appropriate.
- Fix paintBounds logic in Layer world.
- Introduce Layer.replaceWith(), so that it's clearer what's going on.
- Make RenderObjects have a ContainerLayer, not a PictureLayer.
- Introduce a PaintingContext.replacingLayer() constructor to highlight
  where we are creating a layer just to replace an older one.
- Rename some layer-related methods and fields for clarity:
   requiresCompositing -> hasLayer
   hasCompositedDescendant -> needsCompositing
   updateCompositing -> updateCompositingBits
   _needsCompositingUpdate -> _needsCompositingBitsUpdate
   markNeedsCompositingUpdate -> markNeedsCompositingBitsUpdate
- After updating compositing bits, if we find that the bit changed, we
  now call markNeedsPaint().
- Reorder markNeedsPaint() logic for clarity.
- Make flushPaint() start at the deepest node.
- Make _compositeChild() avoid repainting children with hasLayer that
  aren't dirty, instead it just reuses their existing layer.
- Made RenderView reuse the RenderObject layer instead of having its own.
- Made RenderView have hasLayer set to true.
- Add various asserts and comments.
2015-08-20 08:57:22 -07:00
Adam Barth
6d38f01e38 Borders on Containers shouldn't overlap the content
This CL inflates the padding of Container to account for the borders so that
the borders are allocated space in the layout and don't draw behind the
Container's child.
2015-08-18 16:10:40 -07:00
Hans Muller
48da2ee5ae The IgnorePointer class enables one to cut a widget subtree off from pointer events. This is useful when a sibling should not shield pointer events from overlapping siblings below it.
Added a ScrollListener listener to Scrollable. The ScrollListener runs each time the Scrollable's scrollOffset changes. This can be used to keep overlay widgets in sync with a Scrollable below them.

Removed the Scrollable ScrollClient API. It was no longer used and was clumsy to use as a ScrollListener.

Added global function findScrollableAncestor() to scrollable.dart.

Added examples/widgets/overlay_geometry.dart. The app's Scaffold is contained by a Stack. The Stack is used to display green overlay "Markers" at the corners of the most recently selected list item and where the corresponding tap occurred. The app uses widget.localToGlobal() to compute the global overlay positions of the markers. The ScrollListener is used to keep the markers' positions up to date.
2015-08-11 08:29:30 -07:00
Adam Barth
501bf578bb Fix tests after examples move 2015-08-10 11:17:46 -07:00
Ian Fischer
3c8291a828 Move example out of sky/packages to //examples 2015-08-07 17:04:50 -07:00
Hans Muller
ae950aaefe Prevent double-dismissing of Dismissables, center card_collection under-text 2015-08-05 13:40:28 -07:00
Hans Muller
2f759691b2 done 2015-08-04 15:58:33 -07:00
Adam Barth
e18c698625 Rename widgets/widget.dart to widgets/framework.dart
It was confusing to have both widget.dart and widgets.dart
2015-08-04 11:13:33 -07:00
Adam Barth
ed7f08c3f3 Rebaseline test
The new output seems correct.
2015-07-30 14:47:12 -07:00
Adam Barth
eb8329455a Move sky package into sky/packages/sky
This patch makes the sky package match the structure we've adopted for the
other Dart packages we produce from this repo.
2015-07-28 08:42:57 -07:00
Hans Muller
c9d284f442 Dismissable animation simplifications; added backgrounds to CardCollection cards 2015-07-24 11:15:37 -07:00
Adam Barth
c523468e2e Don't try to access the network in Stocks test
Accessing the network created a race condition that would sometimes cause other
tests to fail.
2015-07-23 08:39:42 -07:00
Hans Muller
344ee7ccf4 Make it possible to identify BlockViewport children whose size or type has changed 2015-07-20 15:41:21 -07:00
Adam Barth
7b0dec4d11 Rebaseline stocks test to account for transitions
Also, turn on testing in Travis.
2015-07-17 15:48:10 -07:00
Adam Barth
d909155d67 Refactor Material animation to use AnimatedContainer
The idea is that AnimatedContainer is a drop-in replacement for Container that
provides implicit animations when its properties change.

R=mpcomplete@google.com
2015-07-17 12:23:46 -07:00
Collin Jackson
a64559ab70 After running filter-branch, move root directory into sky/ 2015-07-16 11:54:25 -07:00