1. 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
  2. 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
  3. 18 Jan, 2016 1 commit
    • Ian Hickson's avatar
      Reimplement the theme transition animation by actually animating the Theme. · 73c9ebab
      Ian Hickson authored
      As part of this:
       - A lot of classes got new lerp functions, including e.g. TextStyle.
       - Theme's constructor story got overhauled. You can now configure
         everything if you really want to, and we're better about defaults.
       - Material no longer automatically animates its background color.
         (It still does for its shadow.)
       - Tabs try to get the indicator color from the theme.
       - The fields in ThemeData got reordered for sanity.
       - Theme.== and Theme.hashCode got fixed.
       - Typography got a bit of a spring cleaning.
      
      Fixes #613.
      73c9ebab
  4. 14 Jan, 2016 1 commit
  5. 08 Jan, 2016 1 commit
  6. 07 Jan, 2016 1 commit
  7. 11 Dec, 2015 2 commits
    • Ian Hickson's avatar
      applyPaintTransform() improvements · d1364643
      Ian Hickson authored
      Previously, applyPaintTransform() had to know how it was positioned in
      its parent, even though that's really the parent's responsibility.
      
      Now, applyPaintTransform() is given a child and applies the transform
      that it would give the child during paint.
      
      This makes it possible for applyPaintTransform() to work across
      coordinate system boundaries (e.g. box to sector, or view to box --
      previously, view to box only worked because we explicitly skipped that
      step -- since view doesn't actually apply a transform, it doesn't
      really matter).
      d1364643
    • Adam Barth's avatar
      Add dartdoc for image classes · 40dda1ed
      Adam Barth authored
       - Adds dartdoc for all the `of` functions.
       - Renames Image to RawImage. This widget is rarely used and shouldn't take up
         such a nice global name.
      
      Fixes #361
      40dda1ed
  8. 08 Dec, 2015 2 commits
    • 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
    • Adam Barth's avatar
      Improve material ink response · 0608a02a
      Adam Barth authored
      This patch contains a number of improvements to the material ink response:
      
      - The ink response now remains until you lift your finger
      - When disappearing, the ink response now fades out
      - The ink response is now the correct color (at least in the light theme)
      - The ink response for IconButton now has a (circular) highlight
      - The ink response for IconButton now repositions itself to be centered on the highlight
      
      In addition, I've adjusted the various animation parameters to better match the
      behavior of ink responses in the Java implementation of material.
      
      Fixes #695
      0608a02a
  10. 01 Dec, 2015 1 commit
  11. 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
  12. 20 Oct, 2015 1 commit
  13. 16 Oct, 2015 1 commit
  14. 12 Oct, 2015 1 commit
  15. 10 Oct, 2015 1 commit
  16. 09 Oct, 2015 2 commits
  17. 08 Oct, 2015 1 commit
  18. 06 Oct, 2015 2 commits
    • Adam Barth's avatar
      ToolBar with a TabBar shouldn't have a shadow · 6cf105fe
      Adam Barth authored
      This patch makes the level of the ToolBar configurable. I've also cleaned up
      the Tab code slightly.
      
      For some reason, there's still a hairline between the ToolBar and the TabBar.
      We might need to rethink how we draw the background a bit here.
      
      Fixes #1454
      6cf105fe
    • Adam Barth's avatar
      Mark most State subclasses private · 922aece1
      Adam Barth authored
      In the vast majority of cases, folks should be interacting with the Widget
      rather than its State.
      
      Fixes #267
      922aece1
  19. 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
  20. 01 Oct, 2015 1 commit
  21. 18 Sep, 2015 1 commit
    • Adam Barth's avatar
      Move theme into material.dart · 4467a268
      Adam Barth authored
      Also, introduce Colors and Typography to hold the material colors and the
      typography declarations. Previously we expected clients of these libraries to
      import them into a namespace, but that doesn't play nice with re-exporting them
      from material.dart.
      4467a268
  22. 08 Sep, 2015 1 commit
  23. 02 Sep, 2015 1 commit
    • Adam Barth's avatar
      Move widgets and rendering inside src · 693ddcd8
      Adam Barth authored
      Code outside of package:sky should import this code using
      
      package:sky/rendering.dart
      package:sky/widgets.dart
      
      Moving this code into the "src" directory is a convention that signifies that
      and it cleans up the generated dartdoc because the libraries in the src
      directory aren't included in the generated documentation. Instead, the classes
      are documented in the widgets.dart and rendering.dart libraries.
      693ddcd8
  24. 28 Aug, 2015 1 commit
  25. 26 Aug, 2015 1 commit
  26. 24 Aug, 2015 1 commit
  27. 03 Aug, 2015 1 commit
    • Matt Perry's avatar
      Rename some animation classes. · 99c0edd6
      Matt Perry authored
      * Intentions => Behaviors
      * SlideIn => SlideTransition
      * FadeIn => FadeTransition
      * removed unused AnimatedContainer intentions
      99c0edd6
  28. 28 Jul, 2015 3 commits
  29. 22 Jul, 2015 2 commits
    • Hixie's avatar
      Introduce an explicit Key type. · 74575775
      Hixie authored
      This fixes some theoretical bugs whereby we were using hashCode to try
      to get unique keys for objects, but really we wanted object identity.
      It also lays the groundwork for a new GlobalKey concept.
      
      I tried to keep the impact on the code minimal, which is why the "Key"
      constructor is actually a factory that returns a StringKey. The code
      has this class hierarchy:
      
      ```
         KeyBase
          |
         Key--------------+---------------+
          |               |               |
         StringKey    ObjectKey       UniqueKey
      ```
      
      ...where the constructors are Key and Key.stringify (StringKey),
      Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey).
      
      We could instead of factory methods use regular constructors with the
      following hierarchy:
      
      ```
         KeyBase
          |
         LocalKey---------+---------------+
          |               |               |
         Key      ObjectIdentityKey   UniqueKey
      ```
      
      ...with constructors Key, Key.stringify, ObjectIdentityKey, and
      UniqueKey, but I felt that that was maybe a more confusing hierarchy.
      I don't have a strong opinion on this.
      74575775
    • Matt Perry's avatar
      Material animates over 200ms · 371ef454
      Matt Perry authored
      371ef454
  30. 17 Jul, 2015 1 commit
  31. 16 Jul, 2015 1 commit