1. 12 May, 2016 1 commit
  2. 29 Apr, 2016 1 commit
  3. 24 Apr, 2016 1 commit
    • Adam Barth's avatar
      Add Flow layout · f53a5a52
      Adam Barth authored
      A flow layout is optimized for reposition children with transformation
      matrices. A flow layout can animate the position of its children very
      efficiently.
      f53a5a52
  4. 15 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Material Data Tables (#3337) · a91bc0ba
      Ian Hickson authored
      + Add new demo to gallery to show data tables. (This currently doesn't
      use a Card; I'll create a Card version in a subsequent patch.)
      
      + Fix checkbox alignment. It now centers in its box regardless.
      
      + Add Colors.black54.
      
      + Some minor fixes to dartdocs.
      
      + DataTable, DataColumn, DataRow, DataCell
      
      + RowInkWell
      
      + Augment dartdocs of materia/debug.dart.
      
      + DropDownButtonHideUnderline to hide the underline in a drop-down when
        used in a DataTable.
      
      + Add new capabilities to InkResponse to support RowInkWell.
      
      + Augment dartdocs of materia/material.dart.
      
      + Add an assert to catch nested Blocks.
      
      + Fix a crash in RenderBox when you remove an object and an ancestor
        used its baseline. (https://github.com/flutter/flutter/issues/2874)
      
      + Fix (and redocument) RenderBaseline/Baseline.
      
      + Add flex support to IntrinsicColumnWidth.
      
      + Document more stuff on the RenderTable side.
      
      + Fix a bug with parentData handling on RenderTable children.
      
      + Completely rewrite the column width computations. The old logic made
        no sense at all.
      
      + Add dartdocs to widgets/debug.dart.
      
      + Add a toString for TableRow.
      a91bc0ba
  5. 11 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Add even more careful checks around BoxConstraints (#3243) · 47f5c6f2
      Ian Hickson authored
      I ran into a case where I was setting minHeight=∞ and then calling
      layout() with that constraint, which is all kinds of bad. To try to
      catch this earlier, this patch now provides a way to catch constraints
      that are requiring infinite values.
      
      We don't _always_ check this because there are valid uses for
      BoxConstraints.biggest, e.g. as an additionalConstraint.
      47f5c6f2
  6. 22 Mar, 2016 1 commit
    • Hixie's avatar
      Rationalise the overflow render boxes · 34cc0c47
      Hixie authored
      New RenderAligningShiftedBox abstract class for render boxes with
      "alignment", which as of now is:
      
       - RenderPositionedBox
       - RenderConstrainedOverflowBox (ex RenderOverflowBox)
       - RenderSizedOverflowBox
       - RenderFractionallySizedOverflowBox (ex RenderFractionallySizedBox)
      
      (The respective widgets are Align, OverflowBox, SizedOverflowBox, and
      FractionallySizedBox. They haven't been renamed.)
      
      Also I added some toString details.
      34cc0c47
  7. 14 Mar, 2016 1 commit
  8. 12 Mar, 2016 5 commits
  9. 14 Feb, 2016 1 commit
  10. 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
  11. 10 Feb, 2016 1 commit
    • Hixie's avatar
      More BoxConstraints asserts · 29654016
      Hixie authored
      The asserting will continue until morale improves!
      
      * Convert all assert(*.isNormalized) checks to use the new
        debugAssertIsNormalized technology.
      * Convert CustomMultiChildLayout to use the new RenderingError
        technology to greatly improve the detail in errors you get when
        writing CustomMultiChildLayout delegates.
      * Add BoxConstraints.copyWith().
      * Indent the descendants in the rendering exception data dump so that
        when you have multiple children it's clearer what's going on.
      29654016
  12. 06 Feb, 2016 1 commit
  13. 01 Feb, 2016 1 commit
  14. 29 Jan, 2016 1 commit
  15. 18 Jan, 2016 1 commit
    • Ian Hickson's avatar
      Fix some intrinsic constraints contract violations. · 60d9ab7e
      Ian Hickson authored
      RenderBlock wasn't constraining the results.
      RenderPadding wasn't constraining the results (which matters
      especially when the constraints can't fit the padding in the first
      place).
      RenderViewport wasn't constraining the results.
      
      Add a test for the block case.
      
      To catch this kind of thing in the future, add some asserts to
      debugDoesMeetConstraints() that all four intrinsic functions return
      values that are within the constraints.
      
      RenderBlockViewport doesn't support returning intrinsics, so turn off
      the "no intrinsic support" asserts (and return zero) when we're doing
      this new assert.
      
      This new assert screwed up the custom layout classes' tests, so adjust
      those tests to ignore the callbacks invoked from these asserts.
      
      Add to the _debugReportException() method a short summary of the
      descendants of this node. It's important to have this information when
      debugging errors like these intrinsic constraints contract violations
      because often nodes just pass the values through to their child so you
      have to go several steps down to find the actual problem.
      
      Fixes https://github.com/flutter/flutter/issues/1210
      60d9ab7e
  16. 09 Jan, 2016 1 commit
  17. 02 Jan, 2016 1 commit
  18. 24 Dec, 2015 1 commit
    • Ian Hickson's avatar
      RenderFractionalTranslation · 9bad312a
      Ian Hickson authored
      - Add RenderFractionalTranslation, a render box that does a
        translation based on a FractionalOffset.
      
      - Make FractionalOffset more like Offset
        - dx/dy instead of x/y
        - add /, ~/, %
        - add .zero
      
      - Add alongOffset and alongSize to FractionalOffset so that you can
        easily apply FractionalOffset to Offsets and Sizes. (Better name
        suggestions welcome.)
      
      - Add transformHitTests boolean to RenderTransform (also on
        RenderFractionalTranslation), and to classes based on it.
      
      - Remove the fade from Dismissable. We can add it back using the
        builder-with-child pattern like Draggable if we need it. See #1003
        for tha feature request.
      
      - Rename a bunch of variables in dismissable.dart.
      
      - Change the test for dismissable to not handle leftwards dismisses
        one pixel different from rightwards dismisses, and cleaned up the
        resulting effect on the test (mostly making sure we had the right
        number of pumps, with comments explaining what each one was).
      
      Fixes #174.
      9bad312a
  19. 20 Dec, 2015 1 commit
  20. 15 Dec, 2015 1 commit
    • Hans Muller's avatar
      CustomMultiChildLayout and CustomOneChildLayout now use their delegate's... · 0d983cd8
      Hans Muller authored
      CustomMultiChildLayout and CustomOneChildLayout now use their delegate's shouldRelayout() method instead of a "token" to decide if layout is needed.
      
      MultiChildLayoutDelegate and OnChildLayoutDelegate are now expected to be stateless, i.e. they'll typically be built each time their custom layout widget is built. If the identical layout delegate is provided to a new custom layout, layout will not happen.
      
      Revised the bottom sheet implementation per the new custom layout classes. Removed a SizeObserver.
      
      Fixes #899
      0d983cd8
  21. 10 Dec, 2015 1 commit
  22. 09 Dec, 2015 1 commit
    • Ian Hickson's avatar
      Catch un-normalized BoxConstraints · 1a049c14
      Ian Hickson authored
      Add BoxConstraints.isNormalized feature.
      
      Use this feature in asserts in all the intrinsic dimension methods, in
      various relevant BoxConstraints methods, and in layout().
      
      Wrap the _DebugSize logic in BoxConstraints.constrain() in an assert
      block to avoid a branch in release mode.
      
      Remove the logic in BoxConstraints.isSatisfiedBy() that dealt with
      non-normalized values.
      
      Add BoxConstraints.normalize().
      
      Make RenderCustomOneChildLayoutBox.performLayout() only set
      parentUsesSize on the child if the constraints aren't tight.
      1a049c14
  23. 07 Dec, 2015 1 commit
    • Adam Barth's avatar
      Add some dartdoc to basic widgets · 069fc6dd
      Adam Barth authored
      These docs are largely duplicated from the cooresponding rendering classes. I'm
      not sure how we can avoid repeating ourselves.
      069fc6dd
  24. 19 Nov, 2015 1 commit
    • Adam Barth's avatar
      Refactor PaintingContext · fc576814
      Adam Barth authored
      This patch simplifies PaintingContext with several goals:
      
      1) We now call a callback instead of assuming the caller has a single child to
         paint. This change will let us handle render objects that wish to paint more
         than one child.
      2) We now avoid creating lots of empty picture layers because we don't eagerly
         start recording pictures. Instead, we wait for the first caller to touch the
         canvas before creating the picture recorder.
      3) We now are more consistent about which values have incorporated the painting
         offset.
      fc576814
  25. 06 Nov, 2015 4 commits
  26. 05 Nov, 2015 1 commit
    • Adam Barth's avatar
      Improve hit testing · 9bc64540
      Adam Barth authored
      Now a RenderBox is considered hit if one of its children are hit or it itself
      decides that it's hit. In particular, empty space inside a flex won't be hit
      because none of the children are located there and a RenderFlex doesn't
      consider itself hittable.
      
      Fixes #53
      Fixes #1221
      9bc64540
  27. 04 Nov, 2015 1 commit
    • Hixie's avatar
      Get more debug info into the rendering layer · 6d389722
      Hixie authored
      - change how we expose settings at the RenderObject layer so that it's
        easier to maintain.
      - expose the Widget owner chain in the RenderObject layer debug output
      - add debug info to RenderOpacity, RenderIgnorePointer, RenderListener
      - make the output for text nodes prettier
      6d389722
  28. 27 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add CustomOneChildLayout · f06559af
      Adam Barth authored
      A CustomOneChildLayout is a widget that lets you perform a custom layout in the
      simplified setting of sizing and positioning a single child.
      f06559af
  29. 19 Oct, 2015 1 commit
  30. 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
  31. 10 Oct, 2015 1 commit
  32. 09 Oct, 2015 1 commit
    • Hixie's avatar
      Relative paths in internal flutter libraries · 37bda251
      Hixie authored
      Now that you import a top-level file for each layer of the Flutter
      framework, within the framework we can use relative paths without being
      worried about the copy/pasta problem we used to have.
      37bda251
  33. 11 Sep, 2015 1 commit