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
    • Hixie's avatar
      SizeObserver crusade: drawer · e5cf7fe3
      Hixie authored
      Drawer doesn't need a SizeObserver, since it only looks at the size
      in event handlers. It can just go and probe the tree to read the size.
      
      Also, change from using _kEdgeDragWidth to using _kWidth when figuring
      out how much of the drawer to show when dragging it from the edge, since
      that is more likely to match the drawer's width.
      e5cf7fe3
  3. 11 Feb, 2016 1 commit
    • 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
  4. 27 Jan, 2016 2 commits
  5. 20 Jan, 2016 2 commits
    • Adam Barth's avatar
      Remove Performance and AnimatedValue · b988a875
      Adam Barth authored
      This patch removes Performance and AnimationValue now that we've ported the
      framework over to AnimationController and Tween. This patch also cleans up the
      names of the AnimationController classes now that they don't have to avoid
      conflicts with the old animation API. Specifically, I've made the following
      renames:
      
       * Animated -> Animation
       * Evaluatable -> Animatable
       * PerformanceStatus -> AnimationStatus
      
      This patch is just renames and moving code around. There aren't any changes in
      behavior.
      b988a875
    • Adam Barth's avatar
      Finish porting material.dart to AnimationController · 08b27fd7
      Adam Barth authored
      After this patch, there aren't any direct uses of Performance in material.dart.
      08b27fd7
  6. 11 Jan, 2016 1 commit
  7. 09 Jan, 2016 1 commit
    • Adam Barth's avatar
      Drawer edge swipe convers entire screen · 1ef3f82e
      Adam Barth authored
      When I tightened up the layout constraints for the Drawer in the
      Scaffold, I ended up making the edge swipe detector cover the entire
      screen.  This patch fixes that issue by putting the gesture detector for
      the edge swipe just around the container with the proper width. We now
      use a global key to maintain the state across hierarchy changes.
      1ef3f82e
  8. 03 Dec, 2015 1 commit
    • Adam Barth's avatar
      Fix a large number of Drawer bugs · 1d195cb9
      Adam Barth authored
      This patch restructures how we handle drawer. The drawer is now a child of the
      Scaffold, which wraps the Drawer in a DrawerController. The DrawerController
      manages the interaction with the navigator as well as the edge swiping. The
      DrawerController's state machine is driven almost entirely off its Performance,
      which it now owns completely.
      
      Fixes #90
      Fixes #187
      Fixes #192
      Fixes #194
      Fixes #604
      1d195cb9
  9. 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
  10. 24 Nov, 2015 1 commit
  11. 20 Nov, 2015 1 commit
    • Hixie's avatar
      OverlayRoute.finished() · 2e0e6aa4
      Hixie authored
      Rather than have delayed calls to super.didPop(), which raises my
      eyebrow every time I see it, this provides a separate finished()
      function to call, and uses the convention that if you want to call it
      yourself, you just don't call super.didPop().
      2e0e6aa4
  12. 19 Nov, 2015 2 commits
    • Adam Barth's avatar
      Popup menu in Stocks throws exception · 2d824894
      Adam Barth authored
      Previously, we were putting a ForcedLayer just below the overlay, but that
      causes trouble for routes like the popup menu that want to position themselves
      inside the overlay. Instead, I've moved the ForcedLayer down into ModalRoute.
      
      Also, rename ForcedLayer to RepaintBoundary, which is more descriptive of what
      this widget does.
      
      Fixes #485
      2d824894
    • Adam Barth's avatar
      Reduce paint time for Stocks drawer animation by 88% · 95eb6685
      Adam Barth authored
      Now we use a forced layer around the reprojected content of the drawer, which
      means we don't have to re-record it during the slide animation. This saves 2ms
      per frame.
      
      The total main-thread time for the drawer animation is now 2.0ms.
      95eb6685
  13. 18 Nov, 2015 1 commit
    • Hans Muller's avatar
      Update shadow rendering · d9153a13
      Hans Muller authored
      Shadows now render as three seprate MaskFilter.blur components per the most recent Material spec.
      
      The shadows Map was replaced by a similar Map called elevationToShadow with entries that match the 10 elevations specifed by http://www.google.com/design/spec/what-is-material/elevation-shadows.html.
      
      The "level" property (many classes) is now called "elevation", to match the Material spec.
      
      BoxShadow now includes a spreadRadius parameter - as in CSS box-shadow. Renamed the BoxShadow blur property to blurRadius to further align BoxShadow with CSS box-shadow.
      d9153a13
  14. 06 Nov, 2015 1 commit
  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 1 commit
  17. 27 Oct, 2015 1 commit
  18. 22 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add Navigator.of · de395582
      Adam Barth authored
      Now you don't need to pass the navigator around everywhere.
      de395582
  19. 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
  20. 20 Oct, 2015 1 commit
  21. 16 Oct, 2015 1 commit
    • Hixie's avatar
      Sundry debugging aids and fixes · d0d84e16
      Hixie authored
      (These are all the debugging-related fixes and trivial typo fixes that I
      extracted out of my heroes branch.)
      
      Fix rendering.dart import order.
      
      Introduce a debugLabel for Performances so that when you create a
      performance, you can tag it so that if later you print it out, you can
      figure out which performance it is.
      
      Allow the progress of a PerformanceView to be determined (but not set).
      
      Allow subclasses of PerformanceView that are constants to be created by
      defining a constant constructor for PerformanceView.
      
      Introduce a debugPrint() method that throttles its output. This is a
      test to see if it resolves the problems people have been having with
      debugDumpRenderTree() et al having their output corrupted on Android. It
      turns out (according to some things I read On The Internets) that
      Android only has a 64KB kernel buffer for its logs and and if you output
      to it too fast, it'll drop data on the floor. If this does in fact
      reliably resolve this problem, we should probably move the fix over to
      C++ land (where "print" is implemented) so that any use of print is
      handled (avoiding the interleaving problem we have now if you use both
      debugPrint() and print()).
      
      Fix a bug with the debugging code for "size". In the specific case of a
      RenderBox having a parent that doesn't set parentUsesSize, then later
      the parent setting parentUsesSize but the child having its layout
      short-circuited (e.g. because the constraints didn't change), we didn't
      update the _DebugSize object to know that now it's ok that the size be
      used by the parent, and we'd assert.
      
      Also, allow a _DebugSize to be used to set the size of yourself.
      Previously you could only set your size from a regular Size or from your
      child's _DebugSize.
      
      Add more debugging information to various Widgets where it might be
      helpful.
      
      Make GlobalKey's toString() include the runtimeType so that when
      subclassing it the new class doesn't claim to be a GlobalKey instance.
      
      Include the Widget's key in the Element's description since we don't
      include it in the detailed description normally (it's in the name part).
      
      Fix a test that was returning null from a route.
      d0d84e16
  22. 12 Oct, 2015 1 commit
    • Hixie's avatar
      Lots of trivial warning fixes · f2cc43a4
      Hixie authored
      Add type annotations in many places.
      Fix some identifiers to have more lint-satisfying names.
      Make all operator==s consistent in style.
      Reorder some functions for consistency.
      Make ParentData no longer dynamic, and fix all the code around that.
      f2cc43a4
  23. 10 Oct, 2015 1 commit
  24. 09 Oct, 2015 2 commits
  25. 08 Oct, 2015 2 commits
  26. 05 Oct, 2015 4 commits
    • Hixie's avatar
      Simplify the usage of Navigator's routes argument · 90a0f630
      Hixie authored
      (These are changes cherry-picked from in-flight branches since they are
      more independent and could be helpful even without those changes.)
      
      - Change RouteBuilder's signature to take a single argument in which the
        other fields are placed, so that we can keep iterating on those
        arguments without having to break compatibility each time. Also, this
        makes defining route builders much simpler (only one argument to
        ignore rather than a variable number).
      
      - Expose the next performance to RouteBuilders, since sometimes the
        route itself might not be where it's used.
      
      - Allow BuildContext to be used to walk children, just like it can for
        ancestors
      
      - Allow BuildContext to be used to get the Widget of the current
        BuildContext
      
      - Allow StatefulComponentElement to be referenced with a type
        specialisation so that you don't have to cast when you know what the
        type you're dealing with actually is.
      90a0f630
    • Hixie's avatar
      Handle a route being dismissed before being popped · 290ed842
      Hixie authored
      Ensure that if a route's performance is dismissed before the route is
      popped, that we pop the route.
      290ed842
    • Adam Barth's avatar
      Improves names of animation classes · 3f82552d
      Adam Barth authored
      Fixes #1170
      3f82552d
    • Adam Barth's avatar
      Convert Drawer to using navigator · 49c47876
      Adam Barth authored
      This patch converts drawer to using the "openDialog" pattern for managing its
      state. Currently, the drawer entrance and exit animation aren't integrated with
      the navigator's animation system because the drawer's animations can be stopped
      and reversed, which the navigator can't yet understand. That means dismissing
      the drawer via the system back button causes the drawer to be removed
      instanteously.
      
      Fixes #715
      Fixes #1187
      49c47876
  27. 02 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add AnimatedContainer · c88ca5db
      Adam Barth authored
      This widget is used in Material and Drawer. We don't currently support
      animating towards null, but we can add that in a future patch.
      c88ca5db
  28. 01 Oct, 2015 2 commits
    • Hixie's avatar
      Rename RouteState to StateRoute · 927edaac
      Hixie authored
      ...for consistency with the other Route subclasses:
      ```
        dialog.dart:      class DialogRoute extends Route
        drag_target.dart: class DragRoute extends Route
        navigator.dart:   class PageRoute extends Route
        navigator.dart:   class StateRoute extends Route
        popup_menu.dart:  class MenuRoute extends Route
      ```
      927edaac
    • Adam Barth's avatar
      Make fn3 the default widget framework · 45c906d2
      Adam Barth authored
      45c906d2
  29. 18 Sep, 2015 2 commits
  30. 17 Sep, 2015 1 commit
    • Adam Barth's avatar
      Create gestures.dart · 41b8ffd6
      Adam Barth authored
      This patch is part of a sequence of patches towards fewer top-level libraries.
      In this patch, the gesture libraries are combined into one gestures.dart
      library.
      41b8ffd6