1. 25 Feb, 2016 2 commits
    • Adam Barth's avatar
      Remove PointerRouter and GestureArena arguments · 4b1a9ff1
      Adam Barth authored
      There's no reason to make clients supply a PointerRounter and a
      GestureArena when constructing gesture recognizers. These objects are
      statics and the gesture recognizers can just grab them directly.
      
      Also, remove the callback constructor arguments. Almost no code used
      them. Instead, people seem to prefer using the `..` operator to set
      callbacks on the recognizers. Removing the arguments removes a bunch of
      boilerplate.
      4b1a9ff1
    • Hixie's avatar
      Just-in-time mutations of GestureDetector · 0df3730d
      Hixie authored
      This allows us to adjust exactly which gestures we're listening for
      during layout, which I'll use to kill a SizeObserver.
      0df3730d
  2. 17 Feb, 2016 1 commit
  3. 16 Feb, 2016 1 commit
    • Adam Barth's avatar
      Enforce that we get a final move to the pointer up location · ddd58c5e
      Adam Barth authored
      Previously we asserted that we got a pointer move to the location where the
      pointer up occured, but not all sources of pointer packets respect that
      invariant. Specifically, on the iOS simulator, of you drag outside the window,
      you'll get a stream of pointers that violates that invariant.
      
      This patch teaches the converter to insert a PointerMoveEvent to move the
      pointer to the location where the up occurs, repairing the invariant.
      
      Fixes #1912
      ddd58c5e
  4. 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
  5. 13 Feb, 2016 1 commit
  6. 12 Feb, 2016 1 commit
  7. 11 Feb, 2016 2 commits
    • 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
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      Ian Hickson authored
      Each layer is supposed to reexport the parts of the previous layer
      that are part of its API.
      
      - In painting.dart, export from dart:ui all the Canvas-related APIs
        that make sense to be used at higher levels, e.g. PaintingStyle.
      
      - Delete painting/shadows.dart. It was dead code.
      
      - In rendering/object.dart, export all of painting.dart.
      
      - In widgets/basic.dart, export all of painting.dart and
        animation.dart. Some classes in animation/ are renamed to make this
        less disruptive and confusing to the namespace.
      
      - Split out Stocks back into an import model rather than a part model,
        so that it's easier to manage its dependencies on a per-file basis.
      
      - Move Ticker to scheduler library.
      
      - Remove as many redundant imports as possible now.
      
      - Some minor nit picking cleanup in various files.
      a94999ba
  8. 05 Feb, 2016 1 commit
  9. 27 Jan, 2016 1 commit
  10. 24 Jan, 2016 1 commit
  11. 16 Jan, 2016 1 commit
  12. 11 Jan, 2016 1 commit
    • Adam Barth's avatar
      DoubleTap gesture asserts when rejected · 07a9cc75
      Adam Barth authored
      The pointer router was using an iteration pattern that always delivers
      handleEvent calls even if you remove a route during the iteration.
      That's awkward to program against and causes trouble for the double-tap
      gesture.
      
      This patch switches PointerRouter to using a re-entrant iteration
      pattern that supports removing routes (but not adding routes) during the
      iteration.
      07a9cc75
  13. 07 Jan, 2016 1 commit
  14. 15 Dec, 2015 1 commit
    • Hixie's avatar
      Catch exceptions in pointer handling · 4e23ecd6
      Hixie authored
      If we don't catch these exceptions, we get confused about what's going
      on with the pointers, and the app basically stops working.
      4e23ecd6
  15. 14 Dec, 2015 2 commits
  16. 10 Dec, 2015 1 commit
  17. 09 Dec, 2015 1 commit
  18. 05 Dec, 2015 2 commits
    • Ian Hickson's avatar
      Cleanup for the Pointer changes. · 2965dcb6
      Ian Hickson authored
      2965dcb6
    • 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
  19. 02 Dec, 2015 1 commit
  20. 17 Nov, 2015 1 commit
  21. 13 Nov, 2015 1 commit
    • Ian Hickson's avatar
      Fix tapcancel on slop. · c40cb176
      Ian Hickson authored
      Make sure to send tapcancel when the primary pointer fails because of
      slop, even if the gesture won by default.
      
      Also, minor cleanup and clarification of an invariant.
      c40cb176
  22. 11 Nov, 2015 1 commit
  23. 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
  24. 04 Nov, 2015 2 commits
    • Hixie's avatar
      Gesture class hierarchy tune-up · ba3f60f8
      Hixie authored
      Make all the *GestureRecognizer classes inherit from a class called
      GestureRecognizer. Give the old GestureRecognizer a name that is more
      precise about its purpose. Remove the members of GestureArenaMember that
      aren't used by GestureArenas.
      ba3f60f8
    • Hixie's avatar
      Fix double tap constants, add a doubletap test · 7925e060
      Hixie authored
      Document the Gesture Detector constants.
      
      Remove kEdgeSlop since it's obsolete on Android.
      
      Add a test that verifies that when the first tap is canceled, the second
      tap can become the first tap of a subsequent two-tap sequence.
      7925e060
  25. 03 Nov, 2015 5 commits
  26. 02 Nov, 2015 1 commit
  27. 27 Oct, 2015 4 commits
  28. 26 Oct, 2015 1 commit