1. 20 Nov, 2015 1 commit
  2. 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
  3. 13 Nov, 2015 2 commits
    • Ian Hickson's avatar
      Trivial whitespace fixes. · 1aa2751b
      Ian Hickson authored
      1aa2751b
    • Ian Hickson's avatar
      Hit Testing Cleanup · 92b9d91a
      Ian Hickson authored
      - Drop the unused BindingHitTestEntry class. (Well, it was
        constructed, but its member was never used, so it wasn't doing
        anything a boring old HitTestEntry couldn't already do.)
      
      - Add toString()s to HitTestEntry and HitTestResult, to aid in
        debugging hit-test related code.
      92b9d91a
  4. 06 Nov, 2015 2 commits
  5. 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
  6. 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
  7. 26 Oct, 2015 1 commit
    • Ian Hickson's avatar
      debugPaintPointersEnabled mode · 76381b8f
      Ian Hickson authored
      Implements a mode that highlights RenderBoxes while events are being
      routed through them.
      
      Also, moves the size painting to after paint, so that opaque boxes
      don't obscure the debugging lines.
      76381b8f
  8. 20 Oct, 2015 1 commit
  9. 19 Oct, 2015 1 commit
  10. 18 Oct, 2015 1 commit
    • Hixie's avatar
      toString()ify more stuff · 7c0c1c96
      Hixie authored
      - truncate pixel values to 1dp since there's really no point being told
        the Size is 302.98732587287 by 648.28498579187.
      
      - describe more Widgets so that debugDumpApp() is more useful.
      
      - remove bufferValue from ProgressIndicator (cc @hansmuller) since it's
        not yet implemented.
      
      - half-hearted toString() for ThemeData. There's no point making a
        complete one, since it would cause line-wrap even on big monitors in
        debugDumpApp dumps, and you can easily get the actual values from a
        debugging if that's the issue.
      
      - flesh out BoxConstraints.toString() so that fully unconstrained and
        fully infinite constraints are called out explicitly. I experimented
        with adding even more special cases, e.g. calling out unconstrained
        widths with fixed heights, etc, but it made the output less readable.
      
      - remove a redundant _updateVariable() in AnimatedContainer (cc
        @abarth).
      
      - add more information to RenderView.toString().
      7c0c1c96
  11. 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
  12. 13 Oct, 2015 1 commit
    • Hixie's avatar
      Port first sector demo to fn3 · 1cf1cf9c
      Hixie authored
      Also, fix warnings in rendering/sector_layout.dart
      Also, fix hit testing in rendering/sector_layout.dart
      Also, add WidgetToRenderBoxAdapter
      Also, make the rendering library debugging tools more resilient to
      dumping stuff before layout is complete.
      1cf1cf9c
  13. 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
  14. 10 Oct, 2015 3 commits
  15. 09 Oct, 2015 2 commits
  16. 08 Oct, 2015 1 commit
  17. 02 Oct, 2015 2 commits
  18. 01 Oct, 2015 2 commits
  19. 18 Sep, 2015 1 commit
  20. 09 Sep, 2015 2 commits
  21. 08 Sep, 2015 2 commits
  22. 06 Sep, 2015 1 commit
  23. 05 Sep, 2015 1 commit
    • Adam Barth's avatar
      Document and bring sanity to BoxConstraints · 95277953
      Adam Barth authored
      Turns out many of the functions on BoxConstraints weren't used or had callers
      that could easily be updated to other functions. I've added dartdoc to all the
      public functions as well as renamed some functions that had similar names but
      did different things.
      95277953
  24. 04 Sep, 2015 1 commit
    • Adam Barth's avatar
      Update links to READMEs · 5ce23e5a
      Adam Barth authored
      These needed to be updated because we moved the widgets directory into the src
      directory to hide it from dartdoc.
      5ce23e5a
  25. 03 Sep, 2015 1 commit
  26. 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
  27. 31 Aug, 2015 1 commit
    • Hixie's avatar
      Remove the inner SizeObserver from ScrollableWidgetList. · 820137b7
      Hixie authored
      Adds a HomogeneousViewport class that works like MixedViewport but
      handles only children that have all the same height.
      
      Converts ScrollableWidgetList to use that, so that we don't waste a
      frame looking at the size of the contents each time we change size.
      
      This allows a number of seemingly pointless double-pumps in the tests
      to be removed.
      
      Other changes that were necessary to support the above:
      
       - RenderBlock now supports minExtent (think 'min-height' in CSS)
       - RenderBlock now supports itemExtent (forces the height of each
         child to be the same, so that the itemExtent passed to the fixed-
         height scrollables are all authoritative instead of a source of
         bugs when they don't match)
       - RenderBlockViewport now supports horizontal scrolling
       - improved the style of the isInfinite assert in box.dart
       - fixed the position of a comment in mixed_viewport.dart
       - added a test
       - made the logic for how many items to show be more precise
      820137b7
  28. 26 Aug, 2015 1 commit
  29. 21 Aug, 2015 1 commit
  30. 19 Aug, 2015 1 commit
    • Adam Barth's avatar
      Split box.dart into many files · 50bfdedb
      Adam Barth authored
      Sadly, box.dart has grown much longer than 1000 lines. This patch splits it up
      into several files based on the class hierarchy. Fortunately, many of these
      classes are loosely coupled to each other.
      50bfdedb