Commit Graph

530 Commits

Author SHA1 Message Date
Hans Muller
d662f7e6d2 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
Hans Muller
cf164071c7 Dismissable: correct handling of a drag that ends with a fling 2015-08-19 10:48:26 -07:00
Hans Muller
7782a11534 Adds PageableList, other scrolling related changes and fixes
- PageableList extends ScrollableList
One fixed width or height item is visible and centered at a
time. Fling and drag gestures scroll to the next/previous item.

- Scrollable.scrollTo(), Scrollable.scrollBy(), ensureWidgetIsVisible() API changed
The named animation parameter for these methods was replaced by
duration and curve. All of the methods now return a Future. The Future
completes when the scroll does.

This change eliminates the need for Scrollable to temporarily take ownership
of a ValueAnimation object (see #645).

- Using Future.then() instead of an AnimationPerformance status listener
In ensure_visible.dart _handleTap() uses ensureWidgetIsVisible() to
center the card roughly as before and then. When the implicit scroll
animation is complete, it changes the centered card's label font. The
change is made when the Future returned by ensureWidgetIsVisible()
completes.

- FixedHeightScrollable's itemHeight parameter is now itemExtent
If scrollDirection is ScrollDirection.vertical (the default) then itemExtent should
be the height of each item; otherwise it should be the width of each item.

Replaced _velocityForFlingGesture() in scrollable.dart with Scrollable._eventVelocity()
The original version clamped pixels/ms against pixels/sec constants. The new version
also deals with scrollDirection.

- Plumbed scrollDirection though FixedHeightScrollable and ScrollableList

Both classes should now support horizontal scrolling.
2015-08-19 10:14:21 -07:00
Adam Barth
194c616b2a Update playfair revision
... and reattach fitness to the build. We detached fitness from the build
because it was seeing an old version of playfair that didn't work with the most
recent version of the Sky package.
2015-08-19 09:05:30 -07:00
Adam Barth
de5cb2579f Temporary build fix
Unhook fitness from the build to work around build break in playfair. We
updated the Sky package in an incompatible way, which means we need to roll in
a new playfair package to build fitness.
2015-08-18 21:50:29 -07:00
Adam Barth
dea3a0922c Add package:sky/rendering.dart
Similar to widgets.dart, rendering.dart exports the entire rendering layer.
Also, update the examples to use rendering.dart and widgets.dart. Also clean up
some exports so that the examples have more sensible imports.
2015-08-18 21:39:51 -07:00
Adam Barth
50bfdedbf4 Split box.dart into many files
Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up
into several files based on the class hierarchy. Fortunately, many of these
classes are loosely coupled to each other.
2015-08-18 20:55:32 -07:00
Collin Jackson
429c39455d Request gridlines for fitness chart 2015-08-18 15:15:49 -07:00
Adam Barth
39ca4fa1ce Merge pull request #672 from abarth/render_image_fit
Apply ImageFit and ImageRepeat to RenderImage
2015-08-18 11:12:00 -07:00
Adam Barth
0ad2c11cc6 Apply ImageFit and ImageRepeat to RenderImage
These properties should apply to foreground images as well as background
images. Also, rename these types from BackgroundFit and BackgroundRepeat
because they apply to things other than backgrounds.
2015-08-18 11:11:31 -07:00
Viktor Lidholt
d9c743e1c5 Fixes loading of assets in demo game 2015-08-18 10:33:34 -07:00
Viktor Lidholt
882f32bb95 Merge pull request #666 from vlidholt/master
Adds bounce and elastic easing to animation curves
2015-08-18 09:37:02 -07:00
Eric Seidel
db3d632a5a Add release notes for SkyDemo.apk 0.0.23 2015-08-17 18:00:10 -07:00
Eric Seidel
f714ec6bca Add release notes for Fitness 0.0.3
@collinjackson
2015-08-17 17:51:50 -07:00
Eric Seidel
b3947162ff Make Asteroids.apk use background music from its bundle
This was the last instance of loading assets off of Github.

@abarth
2015-08-17 17:10:38 -07:00
Viktor Lidholt
9cb2cdacba Updates demo game to use curves from the animation package 2015-08-17 17:07:55 -07:00
Eric Seidel
67c481b2ef Teach Asteroids Sounds how to load from AssetBundle
@abarth
2015-08-17 16:07:08 -07:00
Eric Seidel
74a14d2aca Merge pull request #659 from eseidelGoogle/analyzer
Fix analyzer warnings
2015-08-17 14:34:54 -07:00
Eric Seidel
d5fe622a22 Fix analyzer warnings
We had a remarkable number of analyzer failures.

I'll fix the bots to analyze across the whole project
in a follow-up patch, that should prevent this
in the future.

@abarth
2015-08-17 14:32:29 -07:00
Adam Barth
91a783bf62 Rename Widget.root to Widget.renderObject
The name `root` is confusing because this value isn't the root of anything.
It's just the associated `RenderObject` instance.
2015-08-17 14:15:26 -07:00
Adam Barth
46fc8e6a21 Merge pull request #653 from abarth/drag_target
Add support for drag-and-drop
2015-08-17 14:06:35 -07:00
Adam Barth
ac0ec3221b Add support for drag-and-drop
Widgets that want to receive drops should include a DropTarget in their build.
Currently there's no widget for initiating a drag. Components can use the
DragController directly. In the future, we'll probably want to add a Draggable
that knows how to do some of this work automatically.

Fixes #612
2015-08-17 14:06:19 -07:00
Viktor Lidholt
f49a490dc0 Adds SoundManager class 2015-08-17 12:49:32 -07:00
Eric Seidel
f19fee31e2 Roll Fitness and SkyDemo in preparation for release
@abarth
2015-08-17 12:46:30 -07:00
Viktor Lidholt
23aabee8ae Merge pull request #638 from vlidholt/master
Adds a new ActionDelay class to sprites
2015-08-17 12:43:30 -07:00
Viktor Lidholt
d028875510 Adds a new ActionDelay class to sprites 2015-08-17 09:23:13 -07:00
Chinmay Garde
6794429ec5 Merge pull request #624 from chinmaygarde/master
Add iOS sky_app target for the fitness app example
2015-08-14 15:34:48 -07:00
Chinmay Garde
99b68e3139 Add iOS sky_app target for the fitness app example 2015-08-14 15:07:20 -07:00
Adam Barth
6efbcdc975 Add haptic and aural feedback service
And use the service in mine_digger to notify the user when they flag a bomb.
2015-08-14 12:46:04 -07:00
mpcomplete
0c05c97e20 Merge pull request #597 from mpcomplete/value.animation
Add a ValueAnimation helper class for AnimationPerfomance.
2015-08-14 12:03:27 -04:00
Viktor Lidholt
d89e5e4d90 Merge pull request #607 from vlidholt/master
Updates to game sound API
2015-08-13 16:35:58 -07:00
Hans Muller
babe380f0d Adds CicularProgressIndicator and LinearProgressIndicator
Setting a ProgressIndicator's value to null (the default) makes it an "indeterminate progress" or activity indicator.

The indeterminate animations for both kinds of progress bars are essentially the same and wrong vis the Material Design spec, http://www.google.com/design/spec/components/progress-activity.html. I'll improve conformity with the visual design in a future CL.
2015-08-13 16:15:21 -07:00
Viktor Lidholt
e17f6b7b06 Adds background music for demo game 2015-08-13 16:00:29 -07:00
Viktor Lidholt
4530e45710 Unifies interfaces for SoundTrackPlayer and SoundEffectPlayer 2015-08-13 16:00:29 -07:00
Viktor Lidholt
a750da5606 Adds a SoundTrackPlayer class 2015-08-13 16:00:29 -07:00
Viktor Lidholt
3d31273e65 Rename SoundCompleteCallback to SoundEffectStreamCallback 2015-08-13 16:00:29 -07:00
Viktor Lidholt
fa82f1a6e1 Refactors names of sound effect classes 2015-08-13 16:00:29 -07:00
Viktor Lidholt
6895312218 Removes the ability to jump to different positions in sound effects (this isn't supported on Android) 2015-08-13 16:00:29 -07:00
Matt Perry
82d84c766f Add a ValueAnimation helper class for AnimationPerfomance.
Used for AnimationPerformance with a single AnimatedValue<T> variable.
2015-08-13 17:29:32 -04:00
Viktor Lidholt
4b462bab5d Adds sounds to demo game bundle 2015-08-13 12:57:07 -07:00
Viktor Lidholt
b529445fae Adds sounds to demo game 2015-08-13 12:35:32 -07:00
Viktor Lidholt
86a8e06a90 Adds sound support to sprite api 2015-08-13 12:35:32 -07:00
Viktor Lidholt
5cf3b58f66 Merge pull request #577 from vlidholt/master
Fixes issue in sprite
2015-08-13 12:33:40 -07:00
Adam Barth
c80603cf0e Add PaintingContext which has-a sky.Canvas instead of is-a sky.Canvas
We'll need this for compositing because we need to switch out the sky.Canvas
when we switch compositing layers.
2015-08-13 10:18:33 -07:00
Collin Jackson
98d4c3af12 Add weight chart to fitness app 2015-08-12 14:50:50 -07:00
Viktor Lidholt
d8c1d99c25 Fixes issue in sprite 2015-08-12 10:25:55 -07:00
Hans Muller
16ffdc67a6 Merge pull request #572 from HansMuller/ensure-visible
Adds ensureWidgetIsVisible() function to scrollable.dart
2015-08-11 16:51:24 -07:00
Viktor Lidholt
611dd69aca Merge pull request #575 from vlidholt/master
Adds API docs to particle systems and removes redundant property
2015-08-11 16:50:04 -07:00
Hans Muller
9e9d845b1f Adds ensureWidgetIsVisible() function to scrollable.dart
Set the scrollOffset of a widget's Scrollable ancestor so that the
widget is centered within the scrollable. A future CL will add
support for specifying exactly where the widget appears. The scroll
can be animated by specifying the animation: parameter.

Changed the duration Scrollable.scrollTo() parameter from a Duration
to an AnimationPerformance so that one can configure all aspects of
the animation. The caller may also listen to the animation to schedule
other work while it updates or when its status changes.
complete
2015-08-11 16:49:48 -07:00
Viktor Lidholt
87a50f412d Adds API docs to particle systems and removes redundant property 2015-08-11 16:25:58 -07:00