1. 12 Jun, 2021 1 commit
  2. 02 Jun, 2021 1 commit
  3. 31 Mar, 2021 1 commit
  4. 12 Mar, 2021 1 commit
  5. 17 Nov, 2020 1 commit
  6. 08 Oct, 2020 1 commit
  7. 05 Oct, 2020 1 commit
  8. 27 Aug, 2020 1 commit
  9. 20 Aug, 2020 1 commit
  10. 06 Aug, 2020 1 commit
  11. 28 Jul, 2020 1 commit
  12. 13 Jul, 2020 1 commit
  13. 11 Jun, 2020 2 commits
  14. 14 May, 2020 1 commit
    • Tong Mu's avatar
      MouseCursor uses a special class instead of null to defer (#57094) · 5fa1c60b
      Tong Mu authored
      * Uses a special cursor value MouseCursor.defer to mark deferring. MouseTrackerAnnotation.cursor is now non-null. The mouseCursor argument of widgets or render objects can be null, which indicates using the default value.
      * Moves SystemMouseCursors.uncontrolled to MouseCursor.uncontrolled.
      * Changes how MouseCursor.debugDescription is defined. Previously MouseCursor.toString returns $runtimeType($debugDescription), while now it returns $debugDescription. Implementations of classes are updated, except for the ones of MouseCursor.defer and MouseCursor.uncontrolled are simply "defer" and "uncontrolled".
      5fa1c60b
  15. 11 May, 2020 1 commit
    • Tong Mu's avatar
      System mouse cursors (#54171) · 7f8cb7f8
      Tong Mu authored
      Adds the basic framework for the mouse cursor system. 
      
      * Adds MouseRegion.cursor
      * Adds SystemMouseCursors
      * Adds mouseCursor to some widgets
      7f8cb7f8
  16. 20 Mar, 2020 1 commit
  17. 11 Mar, 2020 1 commit
    • Greg Spencer's avatar
      Convert Diagnosticable to a mixin (#51495) · 210f4d83
      Greg Spencer authored
      This converts Diagnosticable to be a mixin instead of an abstract class, so that it can be used to add diagnostics to classes which already have a base class.
      
      It leaves in place the DiagnosticableMixin mixin, since there are some plugins that are still using it, and removing it would mean that those plugins wouldn't work with master branch Flutter anymore. DiagnosticableMixin will be removed once this mixin version of Diagnosticable makes its way to the stable branch.
      210f4d83
  18. 31 Jan, 2020 1 commit
  19. 28 Jan, 2020 2 commits
  20. 24 Jan, 2020 2 commits
  21. 07 Jan, 2020 1 commit
  22. 19 Dec, 2019 3 commits
  23. 09 Dec, 2019 1 commit
  24. 05 Dec, 2019 1 commit
  25. 03 Dec, 2019 1 commit
  26. 02 Dec, 2019 1 commit
    • Tong Mu's avatar
      Improve MouseTracker lifecycle: Move checks to post-frame (#44631) · afb8f382
      Tong Mu authored
      This PR rewrites MouseTracker's lifecycle, so that mouse callbacks are all triggered in post frame, instead of the current one where some are triggered during the build phase. This PR also changes the onExit callback to MouseRegion, RenderMouseRegion, and MouseTrackerAnnotation, so that it is no longer triggered on dispose.
      afb8f382
  27. 27 Nov, 2019 1 commit
    • Ian Hickson's avatar
      License update (#45373) · 449f4a66
      Ian Hickson authored
      * Update project.pbxproj files to say Flutter rather than Chromium
      
      Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
      
      * Update the copyright notice checker to require a standard notice on all files
      
      * Update copyrights on Dart files. (This was a mechanical commit.)
      
      * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
      
      Some were already marked "The Flutter Authors", not clear why. Their
      dates have been normalized. Some were missing the blank line after the
      license. Some were randomly different in trivial ways for no apparent
      reason (e.g. missing the trailing period).
      
      * Clean up the copyrights in non-Dart files. (Manual edits.)
      
      Also, make sure templates don't have copyrights.
      
      * Fix some more ORGANIZATIONNAMEs
      449f4a66
  28. 26 Nov, 2019 1 commit
  29. 18 Oct, 2019 1 commit
  30. 11 Oct, 2019 1 commit
  31. 10 Oct, 2019 3 commits
  32. 26 Sep, 2019 1 commit
    • Greg Spencer's avatar
      Fix mouse hover to not schedule a frame for every mouse move. (#41014) · 05097916
      Greg Spencer authored
      This fixes the mouse hover code to not schedule frames with every mouse move.
      
      Before this, it would schedule a post frame callback, and then schedule a frame immediately, even if there was nothing that needed to be updated. Now it will schedule checks for mouse position updates synchronously, unless there's a new annotation, and skip scheduling a new frame in all cases. It has to be async in the case of a new annotation (i.e. a new MouseRegion is added), since when the annotation is added, it hasn't yet painted, and it can't hit test against the new layer until after the paint, so in that case it schedules a post frame callback, but since it's already building a frame when it does that, it doesn't need to schedule a frame.
      
      The code also used to do mouse position checks for all mice if only one mouse changed position. I fixed this part too, so that it will only check position for the mouse that changed.
      05097916
  33. 30 May, 2019 1 commit
    • Greg Spencer's avatar
      Fix onExit calling when the mouse is removed. (#33477) · 07aede4c
      Greg Spencer authored
      This PR solves two problems: currently, the onExit is called for a mouse pointer the moment the removal message is received, except that by the time it actually calls it, there is no _lastEvent for it in the mouse tracker (it's already been removed), resulting in an event being passed to the onExit that contains nulls for the position. Also, removePointer events don't actually get created with a position, although they easily could be, so that even the the _lastEvent in the mouse tracker were still populated, it would still give a null position and delta.
      
      This PR adds support for the position and delta in a PointerRemovedEvent, and populates them. In addition, when a remove event is received, it doesn't actually remove the pointer until the mouse position check that gets scheduled actually happens.
      07aede4c