1. 25 Apr, 2016 3 commits
  2. 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
  3. 23 Apr, 2016 3 commits
  4. 22 Apr, 2016 5 commits
    • Adam Barth's avatar
      Improve the docs for Text and RichText (#3507) · 8ac9cc45
      Adam Barth authored
      Fixes #3503
      8ac9cc45
    • Adam Barth's avatar
      A blinking cursor should push only one frame (#3445) (#3506) · a5e794ca
      Adam Barth authored
      Prior to this patch, we were pushing two frames each time the cursor blinked.
      In turning the cursor on or off, the markNeedsPaint call was triggering another
      frame to be scheduled because we cleared a bit in the scheduler at the
      beginning of the frame instead of at the end of the frame.
      
      To implement scheduling correctly, we actually need two bits: one for
      ensureVisualUpdate, which just promises to get to the end of the pipeline soon,
      and scheduleFrame, which promises to get to the beginning of the pipeline soon.
      
      (Reland)
      a5e794ca
    • Ian Hickson's avatar
      Clean up our timeline events. (#3504) · b5a827bf
      Ian Hickson authored
      This adds in particular the ability to track the time at which the
      framework boots up, and the time at which we are confident we have
      completed the first useful frame.
      b5a827bf
    • Ian Hickson's avatar
      Rename binding abstract classes (#3482) · e968d91c
      Ian Hickson authored
      The old names were getting silly and started stepping on valuable namespace.
      
      The new names are consistent and clear.
      e968d91c
    • Hans Muller's avatar
      Refactored MaterialApp (#3475) · 03f92106
      Hans Muller authored
      * Refactored MaterialApp
      03f92106
  5. 21 Apr, 2016 4 commits
  6. 20 Apr, 2016 4 commits
  7. 19 Apr, 2016 3 commits
    • Ian Hickson's avatar
      Give DefaultAssetBundle a default asset bundle. (#3422) · 6e0c76f4
      Ian Hickson authored
      This makes it easier to use e.g. AssetImage in simple test applications.
      
      Also, dartdoc improvements.
      
      Also, use @required in one place, to see if it causes any trouble. If it
      doesn't, I'll start using it in more places.
      6e0c76f4
    • Ian Hickson's avatar
      Make rootBundle handle the no-mojo case. (#3408) · 6dc440bd
      Ian Hickson authored
      The defaulting logic for bundles really belongs in the services layer,
      not the widgets layer. This way we can tell non-widget code just to use
      rootBundle if it just wants to read a JSON file or some such.
      6dc440bd
    • Ian Hickson's avatar
      Refactor service extensions (#3397) · 261923e5
      Ian Hickson authored
      Bindings now have a debugRegisterServiceExtensions() method that is
      invoked in debug mode (only). (Once we have a profile mode, there'll be
      a registerProfileServiceExtensions() method that gets called in that
      mode only to register extensions that apply then.)
      
      The BindingBase class provides convenience methods for registering
      service extensions that do the equivalent of:
      
      ```dart
      void extension() { ... }
      bool extension([bool enabled]) { ... }
      double extension([double extension])  { ... }
      Map<String, String> extension([Map<String, String> parameters]) { ... }
      ```
      
      The BindingBase class also itself registers ext.flutter.reassemble,
      which it has call a function on the binding called
      reassembleApplication().
      
      The Scheduler binding now exposes the preexisting
      ext.flutter.timeDilation.
      
      The Renderer binding now exposes the preexisting ext.flutter.debugPaint.
      
      The Renderer binding hooks reassembleApplication to trigger the
      rendering tree to be reprocessed (in particular, to fix up the
      optimisation closures).
      
      All the logic from rendering/debug.dart about service extensions is
      replaced by the above.
      
      I moved basic_types to foundation.
      
      The FlutterWidgets binding hooks reassembleApplication to trigger the
      widget tree to be entirely rebuilt.
      
      Flutter Driver now uses ext.flutter.driver instead of
      ext.flutter_driver, and is hooked using the same binding mechanism.
      Eventually we'll probably move the logic into the Flutter library so
      that you just get it without having to invoke a special method first.
      261923e5
  8. 16 Apr, 2016 1 commit
  9. 15 Apr, 2016 2 commits
    • 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
    • Ian Hickson's avatar
      Split services/ into services/ and foundation/ (#3350) · e41c1c0b
      Ian Hickson authored
      We're getting back to the point where we have a bunch of foundation APIs
      and it's getting confusing having them mixed with services/.
      e41c1c0b
  10. 14 Apr, 2016 2 commits
  11. 13 Apr, 2016 1 commit
  12. 12 Apr, 2016 3 commits
  13. 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
  14. 09 Apr, 2016 1 commit
  15. 08 Apr, 2016 1 commit
  16. 07 Apr, 2016 4 commits
  17. 06 Apr, 2016 1 commit