3503 Commits

Author SHA1 Message Date
Collin Jackson
c9ee3fc252 Fix #721 Dialogs should appear in place rather than animating in from bottom 2015-08-20 17:04:13 -07:00
Adam Barth
04137441f3 Merge pull request #730 from abarth/ship_sky_snapshot
Include sky_snapshot in the binary artifacts
2015-08-20 15:44:35 -07:00
Adam Barth
d96a0ec827 Merge pull request #729 from Hixie/rendering
Reorder bootstrapping code in rendering/ for slightly cleaner code.
2015-08-20 15:44:10 -07:00
Adam Barth
b5fe9b4465 Include sky_snapshot in the binary artifacts
We'll need sky_snapshot to produce skyx files and eventually APKs.
2015-08-20 15:42:43 -07:00
Hixie
cf41d86394 Reorder bootstrapping code in rendering/ for slightly cleaner code. 2015-08-20 15:31:10 -07:00
Ian Hickson
4240a0563d Merge pull request #727 from Hixie/trunk-bustage
Fix compile error on trunk.
2015-08-20 15:05:42 -07:00
Hixie
e6ae2f27b7 Fix compile error on trunk. 2015-08-20 15:05:01 -07:00
Ian Hickson
20e515e320 Merge pull request #724 from Hixie/issue-626
Rewrite the MultiChildRenderObjectWrapper syncing algorithm.
2015-08-20 14:58:03 -07:00
Hixie
b0a1649e48 Rewrite the MultiChildRenderObjectWrapper syncing algorithm.
This also changes the way we insert nodes into a
MultiChildRenderObjectWrapper's renderObject, which fixes issue #626.
Now, instead of the slot being a renderObject, it's the Widget that
currently uses that renderObject. That way when the Widget changes
which renderObject to use, the siblings of that Widget in the same
child list don't have to be notified of the change.

I tested performance of the new algorithm vs the old algorithm using
the stocks demo at idle and the stocks demo scrolling steadily. The
data suggests the algorithms are roughly equivalent in performance.
2015-08-20 14:56:04 -07:00
Ian Hickson
1f92cf5213 Merge pull request #725 from Hixie/new-test
Fix typo in display_list.dart: _insertChild was renamed to insertChild
2015-08-20 14:51:58 -07:00
Hixie
b2520e76c4 Fix typo in display_list.dart: _insertChild was renamed to insertChild 2015-08-20 14:51:27 -07:00
Adam Barth
ae0b417c13 Merge pull request #723 from abarth/rename_built_child
Rename Component._built to Component._child
2015-08-20 14:29:54 -07:00
Adam Barth
a9195e313a Rename Component._built to Component._child
Rationalizes this name with walkChildren.
2015-08-20 14:17:08 -07:00
Adam Barth
f2faa74f98 Update TransferMode.dart 2015-08-20 14:13:53 -07:00
Adam Barth
52f777bb65 Merge pull request #722 from abarth/remove_remove_child
Remove Widget.removeChild
2015-08-20 14:07:34 -07:00
Adam Barth
61a38f38b7 Remove Widget.removeChild
This function just calls remove(). Also, have Widget do the recursive remove
walk by calling walkChildren.
2015-08-20 13:59:02 -07:00
Collin Jackson
7074c6fa5d Merge pull request #717 from collinjackson/indicator
Add goal weight indicator line to fitness chart
2015-08-20 12:32:50 -07:00
Adam Barth
7dfac2f1ca Merge pull request #718 from abarth/one_stack_trace
Uncaught exceptions get two stack traces
2015-08-20 12:13:44 -07:00
Adam Barth
7f0a28952a Uncaught exceptions get two stack traces
Now we print Dart_GetError only when we don't have a stack trace. Also, improve
the usability of the sky_shell command line tool by defaulting to "packages"
for the package-root and not crashing when we don't have a package-root until
we actually try to load a package. Finally, remove console spam when we fail to
bind the observatory port.

Fixes #689
2015-08-20 12:09:53 -07:00
Hans Muller
a5579f2d78 Merge pull request #716 from HansMuller/drawer-bug
Workaround for Drawer.initState() fails

This is a hack to avoid #715

In theory, the navigator's state should be updated in the event handler that triggers opening the drawer. It's not obvious how to do this, since we only build the Drawer when it's supposed to be visible (and once we're building it's too late).
2015-08-20 11:54:41 -07:00
Collin Jackson
49d7699b5c Add goal weight indicator line to fitness chart 2015-08-20 11:45:31 -07:00
Collin Jackson
46687c8ddd Merge pull request #713 from collinjackson/goalweight
Support for saving goal weight
2015-08-20 11:44:48 -07:00
Hans Muller
2ac2653da8 Workaround for Drawer.initState() fails 2015-08-20 11:25:59 -07:00
Adam Barth
5b7e927bdc Merge pull request #714 from abarth/stack_squish
Stack squishes positioned elements near the edge
2015-08-20 11:25:35 -07:00
Adam Barth
5d6e825519 Merge pull request #712 from abarth/rm_paint_frame
Remove RenderView.paintFrame
2015-08-20 11:25:12 -07:00
Adam Barth
bbdff819f1 Remove RenderView.paintFrame
We now use the repaint system to do all the painting. During initialization, we
set up a root layer that applies the device pixel ratio.

Fixes #706
2015-08-20 11:24:33 -07:00
Adam Barth
937b5a2c85 Stack squishes positioned elements near the edge
When laying out positioned children inside a stack, we should give them
unbounded constraints because if they draw outside of the stack, we'll just
clip them.
2015-08-20 11:15:15 -07:00
Collin Jackson
3002f296a2 Support for goal weight saving 2015-08-20 11:02:00 -07:00
Collin Jackson
af433c5552 Merge pull request #691 from collinjackson/settings_save
Add support for saving settings in fitness app
2015-08-20 10:57:31 -07:00
Collin Jackson
deb648c19c Split fitness app’s UserData into UserData and UserDataImpl 2015-08-20 10:54:48 -07:00
Adam Barth
26203b69f5 Merge pull request #711 from abarth/rm_paint_layer
Split up paintChildWithPaint into paintChildWithOpacity and paintChildWithColorFilter
2015-08-20 10:49:22 -07:00
Adam Barth
c89d7516b8 Split up paintChildWithPaint into paintChildWithOpacity and paintChildWithColorFilter
The compositor backends we're planning to use can't handle a general-purpose
paint layer and instead need lower-level operations.

Fixes #707
2015-08-20 10:28:23 -07:00
Adam Barth
5e6d425f3e Merge pull request #710 from abarth/const_key
Key should be const
2015-08-20 09:55:59 -07:00
Adam Barth
c16e03429c Key should be const
For great constness.

Fixes #693
2015-08-20 09:50:51 -07:00
Adam Barth
4a3894ed24 Merge pull request #709 from abarth/rename_root
Rename vestiges of `root`
2015-08-20 09:30:59 -07:00
Adam Barth
139c69dcbb Rename vestiges of root
We now use the term `renderObject`.

Fixes #708
2015-08-20 09:24:17 -07:00
Ian Hickson
4ffb56577a Merge pull request #688 from Hixie/layers
Improvements for Layers logic
2015-08-20 09:07:50 -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
Hans Muller
968ad3f4cc Merge pull request #700 from HansMuller/vertical-pageable-list
Handle changes to scrollDirection in ScrollableList et al

Changed the pageable_list.dart example: tapping on the toolbar changes
the scroll direction. This exposed some problems:

- Scrollable.syncFields() didn't update scrollDirection
- Viewport updated its RenderObject fields in the wrong order
- FixedHeightScrollable scrollDirection changes didn't update the scrollBehavior.

There may be similar problems with VariableHeightList and ScrollableViewport.
I will fix those in a separate CL.
2015-08-20 08:28:13 -07:00
Hans Muller
2e112e4317 Handle changes to scrollDirection in ScrollableList et al
Changed the pageable_list.dart example: tapping on the toolbar changes
the scroll direction. This exposed some problems:

- Scrollable.syncFields() didn't update scrollDirection
- Viewport updated its RenderObject fields in the wrong order
- FixedHeightScrollable scrollDirection changes didn't update the scrollBehavior

There may be similar problems with VariableHeightList and ScrollableViewport.
I will fix those in a separate CL.
2015-08-20 08:24:16 -07:00
Adam Barth
1f21e94837 Merge pull request #705 from abarth/support_file_urls
Teach the DartLibraryProviderFiles about file URLs
2015-08-19 23:57:18 -07:00
Adam Barth
6b2a1ee6b0 Teach the DartLibraryProviderFiles about file URLs
We don't want to support file URLs in general, but having them in the "files"
version of the library provider makes it easier to integrate with package:test.
2015-08-19 23:46:36 -07:00
Adam Barth
5dee1c7a80 Merge pull request #704 from abarth/scrollable_padding
Fix padding on infinite scrolling list
2015-08-19 19:09:14 -07:00
Adam Barth
20d37cb262 Fix padding on infinite scrolling list
Rather than using a Padding widget to provide padding along the scrolling axis,
we now just figure the padding into where we draw the items. This patch fixes
an issue where we would remove the first topmost item in a scrollable list too
early because we thought it was already off screen.

Fixes #697
2015-08-19 18:05:02 -07:00
Adam Barth
821410b123 Merge pull request #703 from Hixie/widgets
RenderObjectWrapper cleanup and new asserts.
2015-08-19 17:02:04 -07:00
Hixie
f35f1f7cc2 RenderObjectWrapper cleanup and new asserts.
- Clarify comment about RenderObjectWrapper.
- Assert that we never sync a RenderObjectWrapper with an instance of a different type.
- Assert that MultiChildRenderObjectWrapper subclasses always have multi-child RenderObjects.
- Assert that renderObject doesn't change identity when syncing.
- Make searchForOldNode() return void since the return value is ignored.
- Remove code that handled renderObject changing during sync.
2015-08-19 16:26:23 -07:00
Eric Seidel
667cfe5348 Merge pull request #698 from Hixie/flex
Implement 'stretch' for flexible items.
2015-08-19 13:29:33 -07:00
Hixie
f499cf5f43 Implement 'stretch' for flexible items. 2015-08-19 13:28:28 -07:00
Adam Barth
e92e62224c Rev pub package 2015-08-19 13:09:20 -07:00
Adam Barth
6850744169 Rev pub packages 2015-08-19 12:56:27 -07:00