1. 12 May, 2016 1 commit
  2. 22 Apr, 2016 2 commits
  3. 24 Mar, 2016 1 commit
  4. 14 Mar, 2016 1 commit
  5. 08 Mar, 2016 1 commit
  6. 14 Feb, 2016 1 commit
  7. 12 Feb, 2016 1 commit
  8. 11 Feb, 2016 1 commit
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      Ian Hickson authored
      Each layer is supposed to reexport the parts of the previous layer
      that are part of its API.
      
      - In painting.dart, export from dart:ui all the Canvas-related APIs
        that make sense to be used at higher levels, e.g. PaintingStyle.
      
      - Delete painting/shadows.dart. It was dead code.
      
      - In rendering/object.dart, export all of painting.dart.
      
      - In widgets/basic.dart, export all of painting.dart and
        animation.dart. Some classes in animation/ are renamed to make this
        less disruptive and confusing to the namespace.
      
      - Split out Stocks back into an import model rather than a part model,
        so that it's easier to manage its dependencies on a per-file basis.
      
      - Move Ticker to scheduler library.
      
      - Remove as many redundant imports as possible now.
      
      - Some minor nit picking cleanup in various files.
      a94999ba
  9. 05 Feb, 2016 1 commit
    • Hixie's avatar
      Improve exceptions and asserts for rendering lib. · 1a0484cc
      Hixie authored
      * Use actual exceptions rather than assertions containing code
        containing strings when trying to give messages to authors.
      * Introduce RenderingError which is an AssertionError that takes a
        string argument, to support the above.
      * Provide a BoxDimensions.hasBoundedWidth/hasBoundedHeight API.
      * Document BoxDimensions.isNormalized.
      * Provide more useful information when we assert isNormalized and find
        that it is false.
      * When finding the size is infinite, crawl the tree to figure out which
        render box is likely responsible for the infinite constraints.
      * Provide more information when size doesn't match the constraints.
      * Provide more information when intrinsic dimension methods violate the
        constraints.
      * Only spam a huge amount of information for the first exception from
        the rendering library. I've noticed a lot of people looking at the
        last exception printed rather than the first and that's very
        misleading -- after the rendering library hits an exception, all bets
        are off regarding what'll happen in the future. All kinds of asserts
        might fire.
      * Improve docs around the debug methods and flags for the above.
      * Make Block default to have no children. Previously, giving no children
        crashed with a confusing message about a null deref in an assert.
      1a0484cc
  10. 27 Jan, 2016 1 commit
  11. 16 Jan, 2016 1 commit
  12. 11 Jan, 2016 1 commit
    • Adam Barth's avatar
      Rename RenderObject.hasLayer to isRepaintBoundary · 0b775984
      Adam Barth authored
      Also, introduce alwaysNeedsCompositing to force the "needs compositing"
      bit to true without necessarily introducing a ContainerLayer into the
      layer tree. A future patch will make use of alwaysNeedsCompositing to
      optimize opacity layers.
      0b775984
  13. 16 Dec, 2015 1 commit
  14. 14 Dec, 2015 1 commit
  15. 02 Dec, 2015 1 commit
  16. 26 Nov, 2015 1 commit
  17. 20 Nov, 2015 1 commit
  18. 19 Nov, 2015 2 commits
    • Adam Barth's avatar
      Add a repaint rainbow to help debug repaint issues · 8fa223ff
      Adam Barth authored
      The repaint raindbow tints each recording with a rotating set of colors so you
      can see which pixels are repainting each frame.
      8fa223ff
    • 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
  19. 18 Nov, 2015 1 commit
  20. 13 Nov, 2015 1 commit
  21. 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
  22. 28 Oct, 2015 1 commit
  23. 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
  24. 10 Oct, 2015 3 commits
  25. 09 Oct, 2015 1 commit
    • 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
  26. 01 Oct, 2015 1 commit
  27. 11 Sep, 2015 1 commit
  28. 08 Sep, 2015 1 commit
    • Adam Barth's avatar
      Introduce package:sky/animation.dart · b356d146
      Adam Barth authored
      Move the animation libraries into src/animation and change importers to use
      package:sky/animation.dart. Also, move scheduler.dart into the animation
      library so that the animation library can be self-contained.
      b356d146
  29. 04 Sep, 2015 1 commit
  30. 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
  31. 25 Aug, 2015 2 commits
    • Adam Barth's avatar
      Don't freeze devicePixelRatio at startup · a733e91b
      Adam Barth authored
      When we start, we might not have initialized the devicePixelRatio value. The
      value will be initialized by the time we paint, so now we update the value
      every time we paint.
      a733e91b
    • Adam Barth's avatar
      Use sky.SceneBuilder to upload Layer tree to C++ · 0e4ac8c1
      Adam Barth authored
      We still use SkPicture as our rasterization backend, but now we're uploading
      our layer tree to C++. A future patch will push the layer tree deeper into the
      system and we'll eventually switch backends.
      0e4ac8c1
  32. 20 Aug, 2015 3 commits
    • Hixie's avatar
    • Adam Barth's avatar
      Remove RenderView.paintFrame · 077e75e8
      Adam Barth authored
      We now use the repaint system to do all the painting. During initialization, we
      set up a root layer that applies the device pixel ratio.
      
      Fixes #706
      077e75e8
    • Hixie's avatar
      Improvements for Layers logic · 654fc734
      Hixie authored
      - Introduce some new Layer classes.
      - Introduce paintChildWith* methods.
      - Convert paint() methods to use paintChildWith* where appropriate.
      - Fix paintBounds logic in Layer world.
      - Introduce Layer.replaceWith(), so that it's clearer what's going on.
      - Make RenderObjects have a ContainerLayer, not a PictureLayer.
      - Introduce a PaintingContext.replacingLayer() constructor to highlight
        where we are creating a layer just to replace an older one.
      - Rename some layer-related methods and fields for clarity:
         requiresCompositing -> hasLayer
         hasCompositedDescendant -> needsCompositing
         updateCompositing -> updateCompositingBits
         _needsCompositingUpdate -> _needsCompositingBitsUpdate
         markNeedsCompositingUpdate -> markNeedsCompositingBitsUpdate
      - After updating compositing bits, if we find that the bit changed, we
        now call markNeedsPaint().
      - Reorder markNeedsPaint() logic for clarity.
      - Make flushPaint() start at the deepest node.
      - Make _compositeChild() avoid repainting children with hasLayer that
        aren't dirty, instead it just reuses their existing layer.
      - Made RenderView reuse the RenderObject layer instead of having its own.
      - Made RenderView have hasLayer set to true.
      - Add various asserts and comments.
      654fc734
  33. 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