1. 24 Mar, 2016 1 commit
  2. 22 Mar, 2016 1 commit
  3. 15 Mar, 2016 1 commit
    • Adam Barth's avatar
      Tapping drawer during animation causes it to stick · a710676d
      Adam Barth authored
      The problem was we were using a tap gesture to stop the motion of the
      drawer and a drag gesture to settle it. That can cause a broken
      lifecycle. Now we use a single drag recognizer to drive the whole
      lifecycle.
      
      Fixes #775
      Fixes #1276
      a710676d
  4. 14 Mar, 2016 1 commit
  5. 12 Mar, 2016 1 commit
  6. 11 Mar, 2016 1 commit
    • Ian Hickson's avatar
      Enable ALL THE LINTS · 1b9cd520
      Ian Hickson authored
      Well, all the easy ones, anyway.
      
      For some reason `// ignore:` isn't working for me so I've disabled
      lints that need that. Also disabled those that require a ton of work
      (which I'm doing, but not in this PR, to keep it reviewable).
      
      This adds:
      - avoid_init_to_null
      - library_names
      - package_api_docs
      - package_names
      - package_prefixed_library_names
      - prefer_is_not_empty
      - sort_constructors_first
      - sort_unnamed_constructors_first
      - unnecessary_getters_setters
      1b9cd520
  7. 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
  8. 17 Feb, 2016 1 commit
  9. 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
  10. 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
  11. 13 Feb, 2016 1 commit
  12. 12 Feb, 2016 1 commit
  13. 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
  14. 05 Feb, 2016 1 commit
  15. 27 Jan, 2016 1 commit
  16. 24 Jan, 2016 1 commit
  17. 16 Jan, 2016 1 commit
  18. 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
  19. 07 Jan, 2016 1 commit
  20. 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
  21. 14 Dec, 2015 2 commits
  22. 10 Dec, 2015 1 commit
  23. 09 Dec, 2015 1 commit
  24. 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
  25. 02 Dec, 2015 1 commit
  26. 17 Nov, 2015 1 commit
  27. 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
  28. 11 Nov, 2015 1 commit
  29. 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
  30. 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
  31. 03 Nov, 2015 5 commits