1872 Commits

Author SHA1 Message Date
Viktor Lidholt
ff3e636635 Makes physics bodies fixture elements settable 2015-10-05 16:13:32 -07:00
Ian Hickson
48142d6872 Merge pull request #1490 from Hixie/navigator-ensure-pop
Handle a route being dismissed before being popped
2015-10-05 13:59:59 -07:00
Ian Hickson
4913c4fc7d Merge pull request #1489 from Hixie/cleanup
Add more debugging information to Widgets.
2015-10-05 13:59:56 -07:00
Hixie
90a0f6300f Simplify the usage of Navigator's routes argument
(These are changes cherry-picked from in-flight branches since they are
more independent and could be helpful even without those changes.)

- Change RouteBuilder's signature to take a single argument in which the
  other fields are placed, so that we can keep iterating on those
  arguments without having to break compatibility each time. Also, this
  makes defining route builders much simpler (only one argument to
  ignore rather than a variable number).

- Expose the next performance to RouteBuilders, since sometimes the
  route itself might not be where it's used.

- Allow BuildContext to be used to walk children, just like it can for
  ancestors

- Allow BuildContext to be used to get the Widget of the current
  BuildContext

- Allow StatefulComponentElement to be referenced with a type
  specialisation so that you don't have to cast when you know what the
  type you're dealing with actually is.
2015-10-05 13:59:30 -07:00
Viktor Lidholt
3fb3ec5a43 Merge pull request #1492 from vlidholt/master
Handle removal of sprite physics bodies during the physics simulation
2015-10-05 13:51:55 -07:00
Viktor Lidholt
ab104c809d Handle removal of sprite physics bodies during the physics simulation 2015-10-05 13:47:51 -07:00
Hixie
290ed842b2 Handle a route being dismissed before being popped
Ensure that if a route's performance is dismissed before the route is
popped, that we pop the route.
2015-10-05 13:38:07 -07:00
Hixie
f5834c9abe Add more debugging information to Widgets.
Also, fix comment mentioning syncConstructorArguments.
2015-10-05 13:18:06 -07:00
Adam Barth
02535f50c1 Merge pull request #1487 from abarth/merge_curve_into_interval
Give Interval a Curve to apply between start and end
2015-10-05 12:43:44 -07:00
Adam Barth
3a31f5f772 Give Interval a Curve to apply between start and end
This patch simplifies AnimationTiming and all the AnimatedValue base classes.
Also, make PopupMenu a stateless component because it has no state.

Fixes #1168
2015-10-05 12:10:48 -07:00
Viktor Lidholt
20ef160a2b Merge pull request #1486 from vlidholt/master
Prevents sprite update methods to be called before the sprite box has…
2015-10-05 11:58:09 -07:00
Viktor Lidholt
071201a5bb Prevents sprite update methods to be called before the sprite box has been property intialized 2015-10-05 11:24:59 -07:00
Adam Barth
da685ec28a Merge pull request #1485 from abarth/animation_renames
Improves names of animation classes
2015-10-05 10:57:07 -07:00
Adam Barth
3f82552d22 Improves names of animation classes
Fixes #1170
2015-10-05 10:51:43 -07:00
Chinmay Garde
850df83eeb Merge pull request #1462 from chinmaygarde/master
Allow displaying compositor statistics via a widget
2015-10-05 10:31:38 -07:00
Chinmay Garde
3e916982c4 Allow displaying compositor statistics via a widget
Example:
  import 'package:sky/widgets.dart';
  void main() => runApp(new Center(child:
      new StatisticsOverlay.allEnabled()));
2015-10-05 10:30:19 -07:00
Adam Barth
bc9d004cf0 Merge pull request #1483 from abarth/drawer_fail
Convert Drawer to using navigator
2015-10-05 10:27:53 -07:00
Adam Barth
041cd88d14 Merge pull request #1480 from abarth/rm_animated_simulation
Remove AnimatedSimulation
2015-10-05 10:24:44 -07:00
Adam Barth
49c4787698 Convert Drawer to using navigator
This patch converts drawer to using the "openDialog" pattern for managing its
state. Currently, the drawer entrance and exit animation aren't integrated with
the navigator's animation system because the drawer's animations can be stopped
and reversed, which the navigator can't yet understand. That means dismissing
the drawer via the system back button causes the drawer to be removed
instanteously.

Fixes #715
Fixes #1187
2015-10-05 10:24:19 -07:00
Adam Barth
5cb0010085 Remove AnimatedSimulation
This patch folds the functionality from AnimatedSimulation into Timeline.
2015-10-05 10:13:11 -07:00
Adam Barth
6d65bfc9ac Merge pull request #1479 from mdakin/simplfy_digger
Simplfy resetting board and mine generation.
2015-10-04 15:21:53 -07:00
Adam Barth
49aba0cc0c Simplify Scrollable animations
Rather than having two objects driving scrolling animations, we now have one
object, a Timeline, drive both scrollTo and fling animations. Using Timeline
instead of AnimatedSimulation paves the way to removing AnimatedSimulation
(which is now used only inside the animation library).

Finally, this patch also simplifies (and makes private) _TweenSimulation by
using AnimatedValue to do the math.
2015-10-03 14:08:20 -07:00
Mehmet Akin
8fdd8cb580 Fix indent. 2015-10-03 22:56:30 +02:00
Adam Barth
203e6fd7e8 Make Ticker start ticking at zero Duration
The only client wants a zero-based duration.
2015-10-03 13:48:57 -07:00
Adam Barth
db191e96bd Switch scheduler over to Duration
This patch prepares us to switch to using integers when handing off the
animation time from the engine to the framework.
2015-10-03 13:48:57 -07:00
Adam Barth
472c440396 Merge pull request #1474 from abarth/hit_zero
Force AnimatedVariables to hit begin on 0.0
2015-10-03 13:48:33 -07:00
Adam Barth
34238dd879 Force AnimatedVariables to hit begin on 0.0
We already forced hitting end on 1.0.

Fixes #1358
2015-10-03 13:41:20 -07:00
Mehmet Akin
5287d13b35 Simplfy resetting board and mine generation. 2015-10-03 22:22:30 +02:00
Adam Barth
cf88993492 RenderInkWell should use gestures
After this patch, InkWell is driven by gesture recognizers, which lets us
cleanly cancel splashes when the user actually scrolls.

I've also refactored all the clients of InkWell to use InkWell to detect
gestures instead of wrapping InkWell in a GestureDetector.

Fixes #1271
2015-10-03 12:49:34 -07:00
Adam Barth
445c512d2c Be a bit less clever with ??=
Turns out .. binds tigher than ??= according to
https://www.dartlang.org/docs/dart-up-and-running/ch02.html#operators, which
means we were only updating the callbacks when we first created the
recognizers. Now we update them unconditionally.
2015-10-03 01:37:01 -07:00
Adam Barth
426ce9374e Clean up some style in GestureDetector
* Rename GestureTapListener (and friends) To GestureTapCallback to match the
   other gesture callbacks.
 * Replace "ensureFoo" pattern with ??= operator.
2015-10-02 23:50:23 -07:00
Adam Barth
e9aabcd5c6 Use }) : super consistently
Fixes #1372
2015-10-02 23:12:03 -07:00
Adam Barth
7271698496 Merge pull request #1458 from Hixie/dismiss-1215
Regression test for #1215
2015-10-02 23:05:57 -07:00
Adam Barth
aea7792912 Merge pull request #1467 from Hixie/app-help
Assert that App(routes) is not null.
2015-10-02 23:05:39 -07:00
Hans Muller
4de0a99b3f ShaderMask
The ShaderMask widget enables rendering its child with an alpha channel defined by a Shader. For example if the Shader was a linear gradient in alpha then the component behind the ShaderMask's child would appear wherever the gradient's alpha value was not fully opaque.

The card_collection.dart example demonstrates this. Select the "Let the sun shine" checkbox in the app's drawer.
2015-10-02 17:08:00 -07:00
Adam Barth
274d2986fe Merge pull request #1463 from abarth/animated_container
Add AnimatedContainer
2015-10-02 16:34:32 -07:00
Adam Barth
c88ca5dbdc Add AnimatedContainer
This widget is used in Material and Drawer. We don't currently support
animating towards null, but we can add that in a future patch.
2015-10-02 15:53:12 -07:00
Adam Barth
8faa778952 Merge pull request #1468 from abarth/pan_crash
Detecting just Pan events causes an exception in GestureDetector
2015-10-02 15:45:21 -07:00
Adam Barth
56c8e60b04 Detecting just Pan events causes an exception in GestureDetector
Fixes #1320
2015-10-02 15:36:41 -07:00
Hixie
cf0fe5faf9 Assert that App(routes) is not null.
This is probably a sign that you're using fn2 still.
2015-10-02 15:28:07 -07:00
Viktor Lidholt
75f10ba619 Updates work with latest Flutter changes 2015-10-02 15:10:02 -07:00
Viktor Lidholt
48a6cd839a Sprite physics, first iteration 2015-10-02 14:15:14 -07:00
Ian Hickson
6fcdb64a1a Merge pull request #1455 from Hixie/heroes2
Groundwork for heroes transition in Stocks app
2015-10-02 11:24:06 -07:00
Hixie
846a073ab9 Regression test for #1215
I'm not sure this specific incarnation of the test ever crashed, since
the original test depended on user interaction and now works fine, but
just in case, here's a regression test for it so I can close that issue.

This also slightly changes the Widget.toString() output to include the
key since that will make debugging easier.
2015-10-02 11:22:16 -07:00
Hixie
6baf162a1d Default RenderBox.size to null. 2015-10-02 10:31:14 -07:00
Hixie
7734c0b0e0 Groundwork for heroes transition in Stocks app
Identify specific parts of a Stock row with a Global Key that can be
regenerated later, and pass that key back to event handlers so they can
use them to do the transition.
2015-10-02 10:20:08 -07:00
Andrew Wilson
e9f27245b5 Merge pull request #1448 from apwilson/curve
Add fast-out-slow-in Material-Design-style curve.
2015-10-01 17:19:38 -07:00
Ian Hickson
9a54c1bc7f Merge pull request #1449 from Hixie/drag-offset
Draggable offsets and fix default drag feedback
2015-10-01 17:13:18 -07:00
Adam Barth
97eaee3484 Merge pull request #1447 from abarth/reactivate
GlobalKeys should preserve state across tree mutations
2015-10-01 17:13:16 -07:00
Hixie
894a1ca09f Draggable offsets and fix default drag feedback
You can now set an offset that will be used for the hit testing for
drops. (It doesn't move the feedback by default; use a Transform for
that.) I also made the default feedback not be Opacity 0.5 always.
2015-10-01 17:13:03 -07:00