1. 27 Apr, 2016 1 commit
  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. 22 Apr, 2016 1 commit
  4. 19 Apr, 2016 1 commit
    • 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
  5. 15 Apr, 2016 1 commit
  6. 26 Mar, 2016 1 commit
  7. 16 Mar, 2016 1 commit
  8. 11 Mar, 2016 1 commit
    • Adam Barth's avatar
      Add RotatedBox which applies a rotation before layout · e59b25b2
      Adam Barth authored
      Transform applies its transform before painting, but sometimes you want
      the widget to layout after its transform has been applied. We can't
      handle general tranforms in this way because we can't couple width and
      height constriants, but we can handle certain rotations.
      
      Fixes #1214
      e59b25b2
  9. 03 Feb, 2016 1 commit
    • Adam Barth's avatar
      Initial work to add Mozart child views · f30398a4
      Adam Barth authored
      This patch sketches out the basic widgets for creating Mozart child
      views. We're still missing some of the machinery, so we can't quite
      create child views yet, but once we supply the ViewHost and teach the
      compositor how to actually display the child scenes, we'll have
      something that works.
      f30398a4
  10. 27 Jan, 2016 1 commit
  11. 22 Jan, 2016 1 commit
    • Adam Barth's avatar
      Input widget shrinks when typing a space · bdef1038
      Adam Barth authored
      This patch restructures how we size the editing region of the Input widget. Now
      RenderEditableLine understands that it's a single-line editing widget and sizes
      itself correctly.
      bdef1038
  12. 11 Jan, 2016 1 commit
  13. 05 Jan, 2016 1 commit
    • Adam Barth's avatar
      Introduce ScrollableList2 · 99bca282
      Adam Barth authored
      ScrollableList2 uses the same pattern as ScrollableGrid, which requires the
      client to allocate widgets for every list item but doesn't inflate them unless
      they're actually needed for the view. It improves on the original
      ScrollableList by not requiring a rebuild of the whole visible portion of the
      list when scrolling. In fact, small scrolls can often be handled entirely by
      repainting.
      99bca282
  14. 14 Dec, 2015 1 commit
  15. 26 Nov, 2015 1 commit
  16. 02 Nov, 2015 1 commit
    • Hans Muller's avatar
      Adds CustomMultiChildLayout · 5ea50bf4
      Hans Muller authored
      CustomMultiChildLayout delegates to a MultiChildLayoutDelegate. Widget children are specified by their index in the list of children.
      5ea50bf4
  17. 20 Oct, 2015 1 commit
    • Hixie's avatar
      OffStage · 52148930
      Hixie authored
      Introduces a new Widget that lays its child out, but does not render it.
      Also, moves RenderOverflowBox to its own file since it has nothing to do
      with proxy box really.
      52148930
  18. 16 Oct, 2015 2 commits
    • 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
    • Adam Barth's avatar
      Rationalize exports a bit more · 7b31d9b2
      Adam Barth authored
      The goal is to follow the guidelines in
      https://github.com/flutter/engine/blob/master/sky/specs/style-guide.md#packages
      
      Fixes #1638
      7b31d9b2
  19. 09 Oct, 2015 2 commits
    • Adam Barth's avatar
      Rename App to MaterialApp · db3b9e80
      Adam Barth authored
      MaterialApp assumes that you're using material design.
      
      Also move radial reaction and fix imports for stats box.
      db3b9e80
    • 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
  20. 01 Oct, 2015 1 commit
  21. 29 Sep, 2015 1 commit
  22. 27 Sep, 2015 1 commit
  23. 26 Sep, 2015 1 commit
  24. 18 Sep, 2015 1 commit
  25. 11 Sep, 2015 1 commit
  26. 08 Sep, 2015 1 commit
  27. 05 Sep, 2015 1 commit
  28. 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
  29. 01 Sep, 2015 1 commit
  30. 30 Aug, 2015 1 commit
  31. 26 Aug, 2015 1 commit
    • Eric Seidel's avatar
      Add support for RenderGrid · b1229696
      Eric Seidel authored
      I'll write the Widget wrapper in the next CL, including adding
      support for padding at the Widget layer.
      
      @Hixie
      b1229696
  32. 19 Aug, 2015 1 commit
    • Adam Barth's avatar
      Add package:sky/rendering.dart · dea3a092
      Adam Barth authored
      Similar to widgets.dart, rendering.dart exports the entire rendering layer.
      Also, update the examples to use rendering.dart and widgets.dart. Also clean up
      some exports so that the examples have more sensible imports.
      dea3a092