1. 16 Dec, 2015 1 commit
  2. 11 Dec, 2015 1 commit
    • 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
  3. 10 Dec, 2015 2 commits
  4. 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
  5. 08 Dec, 2015 1 commit
    • 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
  6. 05 Dec, 2015 1 commit
    • Ian Hickson's avatar
      PointerInput refactor · f1625556
      Ian Hickson authored
      Instead of PointerInputEvent having a "type" field, we now have a
      different class for each pointer type.
      
      This has ripple effects throughout the system.
      
      I also did code cleanup in affected files while I was there.
      f1625556
  7. 20 Nov, 2015 1 commit
  8. 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
  9. 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
  10. 06 Nov, 2015 2 commits
  11. 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
  12. 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
  13. 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
  14. 20 Oct, 2015 1 commit
  15. 19 Oct, 2015 1 commit
  16. 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
  17. 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
  18. 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
  19. 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
  20. 10 Oct, 2015 3 commits
  21. 09 Oct, 2015 2 commits
  22. 08 Oct, 2015 1 commit
  23. 02 Oct, 2015 2 commits
  24. 01 Oct, 2015 2 commits
  25. 18 Sep, 2015 1 commit
  26. 09 Sep, 2015 2 commits
  27. 08 Sep, 2015 2 commits
  28. 06 Sep, 2015 1 commit
  29. 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