1. 05 Nov, 2015 3 commits
  2. 04 Nov, 2015 3 commits
    • Hans Muller's avatar
      One Scaffold layout to rule them all. · 875d8262
      Hans Muller authored
      875d8262
    • 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
    • Adam Barth's avatar
      Always reset parentData when dropping children · c44dd17d
      Adam Barth authored
      Previously, we'd leave the old values in the parent data if the types matches,
      but not all render objects would reset these values during layout. For example,
      RenderProxyBox doesn't set the position field because it doesn't read the
      position field. However, leaving the old data there violates the invariants of
      the box protocol and can cause trouble (e.g., localToGlobal giving the wrong
      result).
      
      Fixes #1939
      c44dd17d
  3. 03 Nov, 2015 2 commits
  4. 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
  5. 28 Oct, 2015 1 commit
  6. 27 Oct, 2015 4 commits
    • Hixie's avatar
      Notification of metrics changes. · 32ca055f
      Hixie authored
      The Rendering layer binding now multiplexes the dart:ui metrics change
      notification so that multiple consumers can all listen to the change.
      32ca055f
    • 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
    • Adam Barth's avatar
      Use VoidCallback for onPressed and friends · d6dc9d47
      Adam Barth authored
      Previous these callbacks were leaking the implementation detail that they were
      triggered by taps. In a later patch, we're going to add a parameter to
      GestureTapCallback that these callbacks won't have.
      
      Related to #1807
      d6dc9d47
    • Hixie's avatar
      Use the presence of handler to determine 'enabled' · d11acc41
      Hixie authored
      Instread of an explicit 'enabled' bool, this uses the presence of the
      event handler to determine if a widget is enabled or not. This means
      that if you've not passed a handler, your widget will be disabled, which
      makes sense, since it wouldn't work anyway.
      
      Adds this feature to checkbox, and ports raised button, flat button, and
      radio buttons to this new model.
      
      Adds a checkbox to card_collection that can be disabled.
      
      Hide a (basically bogus) hint from the (soon to be disabled) strong hint
      mode in the analyzer that this reveals.
      d11acc41
  7. 26 Oct, 2015 3 commits
  8. 24 Oct, 2015 1 commit
    • Hixie's avatar
      Strong modeify the examples · a6c473ea
      Hixie authored
      This makes skyanalyzer also check the examples, and fixes everything it
      found there.
      a6c473ea
  9. 22 Oct, 2015 2 commits
  10. 20 Oct, 2015 8 commits
  11. 19 Oct, 2015 5 commits
  12. 18 Oct, 2015 2 commits
    • Hixie's avatar
      Enable Positioned to be animated. · fb8fe97a
      Hixie authored
      Add a AnimatedRelativeRectValue class for animating RelativeRects.
      
      Add a PositionedTransition class for animating Positioned using
      AnimatedRelativeRectValues.
      
      Add a test for PositionedTransition.
      
      Fix a math bug a RelativeRect found by the test.
      
      Fix a logic bug in the two ParentDataWidget classes found by the test.
      Specifically, they were marking the child dirty, rather than the parent.
      The parentData is for the parent's layout, not the child's, so they have
      to mark the parent dirty. (I didn't hoist this up to the superclass
      because ParentData could be used for painting, hit testing,
      accessibility, or any number of other things, and I didn't want to bake
      in the assumption that it needed markNeedsLayout.)
      fb8fe97a
    • 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
  13. 17 Oct, 2015 2 commits
    • Hixie's avatar
      Reduce latency of low-volume debugPrint output · aed45ba9
      Hixie authored
      If we haven't printed anything for a second, then reset the count of how
      much we've printed.
      
      I also reduced the amount of data to ~16kb until we pause because I saw
      some corruption even pausing 1 second every ~32kb. (Numbers are
      approximate because we're counting UTF-16 characters and some of the
      characters in the output are multiple bytes in UTF-8.)
      aed45ba9
    • Hixie's avatar
      RelativeRect · c701ad6a
      Hixie authored
      Introduce a class that can describe the metrics used in a Positioned
      widget, to enable easier manipulation and storage of the values, e.g.
      for animation purposes.
      c701ad6a
  14. 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
  15. 15 Oct, 2015 1 commit
    • Hixie's avatar
      Improve debugging output · 1f40d96f
      Hixie authored
      Teach dumpRenderTree() to draw actual trees.
      Make the TextStyle output terser so it doesn't overflow the output.
      Make debugDumpApp() say what mode we're in (checked vs release).
      Hide lifecycle state from release mode dumps (since it's checked-only state).
      1f40d96f