1. 14 Feb, 2016 1 commit
    • Adam Barth's avatar
      Add a Velocity class to be explicit about units · 4fb47600
      Adam Barth authored
      We were using an Offset, which represented pixels/second, but it wasn't
      clear to clients whether that was pixels/ms. Now we use a Velocity class
      that is explict about the units.
      
      Fixes #1510
      Fixes #785
      4fb47600
  2. 13 Feb, 2016 1 commit
  3. 12 Feb, 2016 1 commit
  4. 11 Feb, 2016 1 commit
    • Hixie's avatar
      Provide a Draggable that starts on drag · 8e279f32
      Hixie authored
      This lets it cooperate with other gestures like tap.
      
      The way I implemented this was to refactor the entire Draggable gesture
      logic to use a new kind of gesture detector called
      MultiDragGestureRecognizer. It works a bit like
      MultiTapGestureRecognizer but for drags.
      
      Also some tweaks to the velocity estimator.
      8e279f32
  5. 10 Feb, 2016 1 commit
    • Hixie's avatar
      Tapping through drag targets. · 4d5e4067
      Hixie authored
      Factor out the HitTestBehavior logic so that RenderMetaData can use it.
      
      Use that in DragTarget.
      4d5e4067
  6. 09 Feb, 2016 1 commit
  7. 16 Jan, 2016 1 commit
  8. 14 Dec, 2015 2 commits
  9. 10 Dec, 2015 1 commit
    • Adam Barth's avatar
      Add more dartdoc · 0885926e
      Adam Barth authored
      These docs cover some undocumented enums and some of the basic layout widgets.
      0885926e
  10. 09 Dec, 2015 1 commit
    • Adam Barth's avatar
      Cleanup the global scope a bit: · 13f9e91f
      Adam Barth authored
      - Remove unused FocusChanged typedef.
      - Remove unused centerOfAttentionHeroTag.
      - Modernize static functions for interacting with Scrollable by moving them
        into the Scrollable class.
      13f9e91f
  11. 05 Dec, 2015 1 commit
    • Ian Hickson's avatar
      PointerInput refactor · f1625556
      Ian Hickson authored
      Instead of PointerInputEvent having a "type" field, we now have a
      different class for each pointer type.
      
      This has ripple effects throughout the system.
      
      I also did code cleanup in affected files while I was there.
      f1625556
  12. 30 Nov, 2015 1 commit
    • Hixie's avatar
      NavigatorTransaction · f9ea1ce8
      Hixie authored
      To make it easier to avoid pushing twice in one frame, provide a
      transaction mechanism for the navigator.
      f9ea1ce8
  13. 10 Nov, 2015 1 commit
  14. 05 Nov, 2015 1 commit
    • Hixie's avatar
      Make Draggable use gestures · 255ed0b9
      Hixie authored
      Draggable is now itself a gesture arena member. This means it won't
      conflict with other gesture recognisers in the same path.
      
      This also allows variants of Draggable that are triggered by other
      gestures.
      
      Also, some cleanup of DoubleTapGestureRecognizer, GestureDetector, and
      PrimaryPointerGestureRecognizer.
      
      Also, make MultiTapGestureRecognizer support a timeout for longpress.
      
      Also, make Draggable data be typed.
      
      Also, hide warnings about constructor warnings for now. Analyzer doesn't
      support them yet. (Have to do this on a per-line basis)
      
      Directions for future research:
       - animating the avatar (enter/exit transitions)
       - interaction with the navigator (canceling a drag on page navigation, etc)
       - double-tap draggable
      255ed0b9
  15. 03 Nov, 2015 1 commit
    • Adam Barth's avatar
      Stocks list doesn't update when stocks are loaded · 78d35391
      Adam Barth authored
      Previously, we passed widgets up the hierarchy to display them in the overlay,
      but that breaks the change propagation logic because those widgets won't get
      rebuilt.  Now we pass WidgetBuilders instead, which can be rebuilt when the
      overlay rebuilds.
      
      Fixes #1913
      78d35391
  16. 30 Oct, 2015 2 commits
  17. 27 Oct, 2015 2 commits
    • Ian Hickson's avatar
      Track scroll position · 8a900f90
      Ian Hickson authored
      - Change RouteArguments to pass the route's BuildContext rather than
        the Navigator. This caused the bulk of the examples/ and .../test/
        changes (those are mostly mechanical changes). It also meant I could
        simplify Navigator.of().
      
      - Make initState() actually get called when the State's Element is in
        the tree, so you can use Foo.of() functions there. Added a test for
        this also.
      
      - Provide a RouteWidget so that routes have a position in the Widget
        tree. The bulk of the route logic is still in a longer-lived Route
        object for now.
      
      - Make Route.setState() only rebuild the actual route, not the whole
        navigator.
      
      - Provided a Route.of().
      
      - Provided a Route.writeState / Route.readState API that tries to
        identify the clients by their runtimeType, their key, and their
        ancestors keys, up to the nearest ancestor with a GlobalKey.
      
      - Made scrollables hook into this API to track state. Added a test to
        make sure this works.
      
      - Fix the debug output of GestureDetector and the hashCode of
        MixedViewport.
      
      - Fixed ScrollableWidgetListState<T> to handle infinite lists.
      8a900f90
    • Adam Barth's avatar
      Use VoidCallback in more places · e77cad81
      Adam Barth authored
      We still use special-purpose typedefs in the gesture code for symmetry with
      other gesture callbacks.
      
      Fixes #1827
      e77cad81
  18. 21 Oct, 2015 1 commit
    • Hixie's avatar
      Make Route.build() arguments match RouteBuilder() · babba2f0
      Hixie authored
      Assert at build time that PageRoute route builders do not return null
      widget trees.
      
      Also very minor new code comments and code reorg to help make the heroes
      patch easier to review.
      
      (These are changes that are unrelated to Heroes but that were part of
      the Heroes patch.)
      babba2f0
  19. 16 Oct, 2015 1 commit
  20. 13 Oct, 2015 1 commit
  21. 10 Oct, 2015 3 commits
  22. 09 Oct, 2015 1 commit
  23. 07 Oct, 2015 1 commit
  24. 06 Oct, 2015 1 commit
  25. 05 Oct, 2015 1 commit
  26. 03 Oct, 2015 1 commit
  27. 02 Oct, 2015 1 commit
    • Hixie's avatar
      Draggable offsets and fix default drag feedback · 894a1ca0
      Hixie authored
      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.
      894a1ca0
  28. 01 Oct, 2015 2 commits
    • Hixie's avatar
      Heroes: Pass next Performance to route builders · 8cce992f
      Hixie authored
      This is step 1 in making it possible to have hero transitions between
      routes. To make it possible for a route to have an "exit" animation when
      a new route has been pushed on top of it, we provide the next route's
      AnimationPerformance to the build function. It's null if there is no
      next route or if the next route has no performance.
      8cce992f
    • Adam Barth's avatar
      Make fn3 the default widget framework · 45c906d2
      Adam Barth authored
      45c906d2
  29. 26 Sep, 2015 1 commit
  30. 08 Sep, 2015 1 commit
  31. 02 Sep, 2015 1 commit
    • Adam Barth's avatar
      Move widgets and rendering inside src · 693ddcd8
      Adam Barth authored
      Code outside of package:sky should import this code using
      
      package:sky/rendering.dart
      package:sky/widgets.dart
      
      Moving this code into the "src" directory is a convention that signifies that
      and it cleans up the generated dartdoc because the libraries in the src
      directory aren't included in the generated documentation. Instead, the classes
      are documented in the widgets.dart and rendering.dart libraries.
      693ddcd8
  32. 27 Aug, 2015 1 commit
    • Adam Barth's avatar
      Add PointerRouter · 45f2c589
      Adam Barth authored
      This patch is the first step towards implementing gestures. The pointer router
      allows the gesture detectors to hook in at the end of the pointer event
      propagation chain.
      
      Related to #145
      45f2c589
  33. 22 Aug, 2015 1 commit
  34. 17 Aug, 2015 1 commit
    • Adam Barth's avatar
      Add support for drag-and-drop · ac0ec322
      Adam Barth authored
      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
      ac0ec322