1. 05 Mar, 2016 1 commit
  2. 02 Mar, 2016 1 commit
    • Adam Barth's avatar
      Switch Material Design icons to using the iconfont · 870894fc
      Adam Barth authored
      Rather than managing all the Material Design icons manually, we now
      manage them using an icon font. The icon font contains glyphs for each
      icon in an efficient vector format.
      
      This patch updates the FLX tooling to include the MaterialIcons font and
      updates the Icon widget to use the font instead of asset images.
      
      Fixes #2313
      Fixes #2218
      Fixes #2009
      Fixes #994
      870894fc
  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. 22 Jan, 2016 1 commit
  5. 20 Jan, 2016 4 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
      AnimatedBuilder should have a child · d25951c5
      Adam Barth authored
      Providing a pre-built child is more efficient because we don't need to rebuild
      the child every tick of the animation.
      d25951c5
    • Adam Barth's avatar
      Switch Navigator over to using AnimationController · 6cea5dc8
      Adam Barth authored
      This patch moves Navigator and related code over to using
      AnimationController.
      6cea5dc8
    • Adam Barth's avatar
      Move Scaffold over to using AnimationController · 0b098ee2
      Adam Barth authored
      Also, clean up the class hierarchy for AnimationController now that
      we've renamed progress to value. That means everything in the hierarchy
      now has a value, include Watchable. This patch renames Watchable to
      Animated<T>, which lets us use that type almost everywhere.
      
      I've added some ducktape to modal bottom sheets to avoid having to
      refactor all of Navigator to use AnimationController. I'll remove the
      ducktape in the next patch.
      0b098ee2
  6. 11 Jan, 2016 1 commit
  7. 16 Dec, 2015 2 commits
    • Hixie's avatar
      Canceling a dropdown menu selects null value · 0c6e3416
      Hixie authored
      Previously we didn't distinguish between canceling the menu (which
      popped the route with no return value, i.e. null) and explicitly
      selecting an item whose value is null (pop with value null). Both fired
      onChange(null).
      
      Now we box the return value so we can distinguish the two cases.
      
      I would have preferred to just disallow "null" as a value but it turns
      out people like being able to use "null" as a value for much the same
      reason we do, and it seems best for us to pay the complexity cost of
      boxing than having everyone else do it. :-)
      0c6e3416
    • Hixie's avatar
  8. 08 Dec, 2015 3 commits
    • Adam Barth's avatar
      Widgets that depend on Material should assert that · 8dc607a9
      Adam Barth authored
      After this patch, if you try to use a widget that depends on being enclosed in
      a material, you now get an assert and a debugPrint if you're not inside a
      material.
      
      Fixes #243
      8dc607a9
    • Ian Hickson's avatar
      Make BoxDecoration replaceable. · 2afa87df
      Ian Hickson authored
      Factor out a reusable interface called Decoration from BoxDecoration.
      
      Make all the consumers of BoxDecoration and the erstwhile BoxPainter
      into consumers of Decoration.
      
      Make a BoxPainter be something you get from a Decoration, rather than
      something to which you pass a BoxDecoration.
      
      Rename Shape to BoxShape now that it's documented specifically as
      applying to boxes.
      
      Move EdgeDims to its own file.
      
      Move FractionalOffset up so that it's with the other helper classes in
      its file rather than alone at the end.
      
      Minor change to RenderClipOval's hit testing to avoid taking an
      unnecessary square root.
      
      Rename BoxDecorationPosition to DecorationPosition since
      RenderDecoratedBox now takes any Decoration.
      
      Implement hit testing for rounded rects.
      
      Rename AnimatedBoxDecorationValue to AnimatedDecorationValue, and make
      it support lerping across any Decoration (by deferring to the objects
      involved).
      2afa87df
    • Adam Barth's avatar
      Material gallery crashes when you press the drop-down button · 4982c553
      Adam Barth authored
      Now use use the route's getPosition function to position the drop-down menu.
      Also, fix a number of other related bugs that blocked the dropdown button from
      working correctly. The dropdown menu still has the following issues:
      
      1) In the exit animation, the background of the menu disappears too quickly
         because of incorrect paint bounds computations in the layer tree.
      2) The drop down menu isn't positioned correctly after the device rotates.
         We'll need to address this issue in a separate patch.
      
      Fixes #630
      4982c553
  9. 04 Dec, 2015 1 commit
  10. 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
  11. 20 Nov, 2015 3 commits
    • Hixie's avatar
      Route refactor · 6e371875
      Hixie authored
      - Removed the concept of ephemeral routes.
      - Renamed the two _MenuRoutes to _PopupMenuRoute and _DropDownRoute.
      - Added type arguments in various places:
        - DropDownMenu
        - _DropDownRoute
        - _ModalBottomSheetRoute
        - PopupMenuItem
        - _PopupMenu
        - _PopupMenuRoute
      - Made _ModalBottomSheetRoute, the two ex _MenuRoutes, and _DialogRoute
        all inherit from ModalRoute, via PopupRoute.
      - Change "Dropdown" and "DropDown" to "DropDown" consistently.
      - Made MaterialPageRoute inherit from PageRoute.
      - Made ModalBarrier not create a box if it's always transparent.
      - Exposed the Futures on TransitionRoutes.
      - Fixed that menus were no longer dismissable by tapping the modal
        barrier.
      6e371875
    • Adam Barth's avatar
      Rename LabeledGlobalKey's argument to debugLabel · 6db39fe9
      Adam Barth authored
      The old name was confusing.
      
      Fixes #462
      6db39fe9
    • Adam Barth's avatar
      Callback identity is too fragile for CustomPaint · 72329cf4
      Adam Barth authored
      Many of the widgets that use CustomPaint were spamming repaints because
      CustomPaint repaints when the identity of the onPaint callback changes, which
      it does every build for StatelessComponents.
      
      This patch changes CustomPaint to use a CustomPainter, similar to the new
      custom layout widgets. The CustomPainter has a `shouldRepaint` function along
      with its `paint` function. This function gives clients explicit control over
      when the custom paint object repaints.
      72329cf4
  12. 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
  13. 06 Nov, 2015 1 commit
    • Hixie's avatar
      Teach Block about padding. · 1f5844ea
      Hixie authored
      It's common to want a scrolling viewport but with padding around the
      contents. Teaching Block about this makes the places that do this
      substantially simpler and further buries ScrollableViewport and
      BlockBody (they're now only used in scrollable.dart).
      1f5844ea
  14. 04 Nov, 2015 1 commit
  15. 03 Nov, 2015 2 commits
  16. 02 Nov, 2015 1 commit
    • Adam Barth's avatar
      Routes shouldn't be interactive when animating out · 828775e9
      Adam Barth authored
      This patch introduces the notion of a ModalRoute that puts up a modal barrier
      and makes the route invisible to hit testing when its animating out. This patch
      also uses this mechanism in a number of places (including PageRoute). There are
      still a few more cases to convert, but that's work for a future patch.
      
      Fixes #1684
      828775e9
  17. 01 Nov, 2015 1 commit
  18. 30 Oct, 2015 1 commit
  19. 28 Oct, 2015 1 commit
    • Adam Barth's avatar
      Icon should use an enum rather than an int for size · eeea4ab7
      Adam Barth authored
      Material design icons are defined to work at specific sizes: 18, 24, 36, 48.
      The current API doesn't reflect that and just takes a size int. If an invalid
      size is chosen an error is printed to the console and no icon shows up.
      
      Fixes #1816
      eeea4ab7
  20. 24 Oct, 2015 1 commit
    • Hixie's avatar
      Strong modeify the examples · a6c473ea
      Hixie authored
      This makes skyanalyzer also check the examples, and fixes everything it
      found there.
      a6c473ea
  21. 22 Oct, 2015 3 commits