1. 17 Nov, 2017 1 commit
    • Greg Spencer's avatar
      Fix spelling errors in all the dartdocs. (#13061) · 0259be90
      Greg Spencer authored
      I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once.
      
      This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
      0259be90
  2. 25 Oct, 2017 1 commit
  3. 21 Sep, 2017 1 commit
  4. 20 Sep, 2017 1 commit
  5. 10 Aug, 2017 1 commit
  6. 03 Aug, 2017 1 commit
  7. 27 Jul, 2017 1 commit
    • Ian Hickson's avatar
      Increase the touch slop. (#11419) · 87445e59
      Ian Hickson authored
      It was 8.0. It's now arbitrarily 18.0.
      
      Changing this required adjusting some tests. Adjusting the tests
      required debugging the tests. Debugging the tests required some tools
      to help debugging gesture recognizers and gesture arenas, so I added
      some. It also required updating some toString() methods which resulted
      in some changes to the tree diagnostics logic.
      
      Also I cleaned up some docs while I was at it.
      87445e59
  8. 12 Jun, 2017 1 commit
    • Ian Hickson's avatar
      More documentation (#10606) · a9f1cb8c
      Ian Hickson authored
      - How do you handle a tap on text?
      - Why is AnimatedOpacity expensive?
      - Why would you use a gesture arena team?
      ...and other minor fixes
      a9f1cb8c
  9. 05 Jun, 2017 1 commit
  10. 25 Apr, 2017 1 commit
  11. 21 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Reorganise the drag related gesture files. (#9487) · a591628c
      Ian Hickson authored
      Move the Drag*Details classes into drag_details.dart.
      Move the one-gesture drag recognizers into monodrag.dart.
      Move Drag into drag.dart.
      
      Adjust the comments to claim that Drag is used by other things than
      MultiDragGestureRecognizer. (Right now this is a lie but it will
      hopefully be true soon.)
      a591628c
  12. 12 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * Manually fix every use of Point.x and Point.y
      
      Some of these were moved to dx/dy, but not all.
      
      * Manually convert uses of the old gradient API
      
      * Remove old reference to Point.
      
      * Mechanical changes
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
      git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
      git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
      git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
      git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
      git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
      git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
      git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
      git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
      git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'
      
      * Mechanical changes - dartdocs
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
      git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'
      
      * Further improvements and a test
      
      * Fix minor errors from rebasing...
      
      * Roll engine
      bf017b79
  13. 04 Mar, 2017 1 commit
  14. 22 Jan, 2017 1 commit
  15. 06 Jan, 2017 1 commit
    • Ian Hickson's avatar
      Changes to the drag gesture detectors and the velocity tracker (#7363) · 11d1d54c
      Ian Hickson authored
      - more dartdocs for the drag typedefs
      
      - more toStrings to aid debugging
      
      - require the position for DragUpdateDetails since we were omitting it
        in some places
      
      - add the primaryVelocity to DragEndDetails so that consumers don't
        have to themselves track the axis in question
      
      - fix the velocity tracker so that it doesn't walk the null data.
        Previously, near time t=0 (which pretty much only matters in tests,
        but it does matter there) we would walk the velocity data and then
        also walk missing data, treating it as Point.zero with t=0.
      
      - simplify some of the velocity tracker; e.g. instead of trying (and
        failing?) to clear the velocity tracker when the pointer stalls,
        just drop the data before a stall during the velocity estimation
        (where we redundantly had another bigger horizon anyway).
      11d1d54c
  16. 19 Nov, 2016 1 commit
  17. 28 Oct, 2016 1 commit
  18. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Tap above LongPressDraggable should work (#6348) · 61240fe8
      Adam Barth authored
      Previously, we were nulling out the ArenaEntry in MultiDragPointerState
      too early, which was prevent MultiDragPointerState from rejecting the
      gesture in `dispose` if we hadn't accepted by the time the pointer went
      up. Now we properly reject the gesture, which causes the tap gesture to
      win during `sweep` in the arena.
      
      Also, add a bunch of docs and annotations based on information I learned
      while studying this issue. Finally, rename a private member of tap
      recognizer to a name that would have confused me less in my
      investigation.
      
      Fixes #1186
      61240fe8
  19. 16 Oct, 2016 1 commit
  20. 15 Oct, 2016 1 commit
    • Adam Barth's avatar
      Ensure delayed multidrag timer is stopped (#6340) · 034d2fcd
      Adam Barth authored
      Previously we were relying on the gesture arena to call us back to
      cancel our timer. However, in the case where we've already been
      accepted, asking the gesture arena to reject us doesn't lead to a
      callback and we fail to stop the timer (and hence trigger an assert).
      
      Fixes #6156
      034d2fcd
  21. 07 Jul, 2016 1 commit
  22. 27 Jun, 2016 1 commit
  23. 20 Jun, 2016 1 commit
    • Adam Barth's avatar
      Fix asserts in Draggable dismounting (#4644) · b3780ebc
      Adam Barth authored
      In writing a test for #1927, I found a number of bugs in how Draggable shuts
      down. Previously it would leak its recongizer. Now it disposes its recognizer
      and the recognizer knows how to be disposed cleanly.
      
      Fixes #1927
      b3780ebc
  24. 07 Jun, 2016 1 commit
  25. 18 May, 2016 1 commit
  26. 17 May, 2016 1 commit
  27. 12 May, 2016 1 commit
  28. 26 Apr, 2016 1 commit
    • Adam Barth's avatar
      Delay win-by-default in gesture arena (#3552) · 51b1550d
      Adam Barth authored
      Wait until the end of the microtask to tell gesture recognizers that
      they've won in the gesture arena. This lets recognizers dispose reject
      themselves at arbitrary times without triggering gestures in awkward
      call stacks.
      
      Fixes #3183
      51b1550d
  29. 22 Apr, 2016 1 commit
  30. 14 Mar, 2016 1 commit
  31. 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
  32. 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
  33. 13 Feb, 2016 1 commit
  34. 12 Feb, 2016 1 commit
  35. 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