1. 19 Nov, 2015 16 commits
    • Misha Dynin's avatar
      Merge pull request #483 from mishadynin/imagecache · 04dfa0bf
      Misha Dynin authored
      Introduced ImageProvider for asynchronously loading images.
      04dfa0bf
    • Adam Barth's avatar
      Merge pull request #496 from abarth/push_layer · fd1dd7fa
      Adam Barth authored
      Some paint functions were using canvas.save/restore around children
      fd1dd7fa
    • Misha Dynin's avatar
      Introduced ImageProvider for asynchronously loading images. · 7436dfd1
      Misha Dynin authored
      Updated image cache to use any ImageProvider instance.
      Renamed RawImage to AsyncImage and updated the interface
      to use any ImageProvider instance.
      7436dfd1
    • Adam Barth's avatar
      Some paint functions were using canvas.save/restore around children · d689362d
      Adam Barth authored
      This pattern breaks when using compositing because we need to lift those
      operations into the compositing tree. This patch removes all the ones I could
      find and adds an assert to help prevent more from getting introduced.
      
      Fixes #191
      d689362d
    • Adam Barth's avatar
      Merge pull request #486 from abarth/painting_context · 4fb5bcd8
      Adam Barth authored
      Refactor PaintingContext
      4fb5bcd8
    • 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
    • Eric Seidel's avatar
      Merge pull request #491 from flutter/issue_url · c882d423
      Eric Seidel authored
      Point to Github issues instead of flutter.io
      c882d423
    • Eric Seidel's avatar
      Point to Github issues instead of flutter.io · 847df528
      Eric Seidel authored
      Fixes #489.
      
      @sethladd
      847df528
    • Adam Barth's avatar
      Merge pull request #487 from abarth/fix_menu_crash · f97a125e
      Adam Barth authored
      Popup menu in Stocks throws exception
      f97a125e
    • Adam Barth's avatar
      Popup menu in Stocks throws exception · 2d824894
      Adam Barth authored
      Previously, we were putting a ForcedLayer just below the overlay, but that
      causes trouble for routes like the popup menu that want to position themselves
      inside the overlay. Instead, I've moved the ForcedLayer down into ModalRoute.
      
      Also, rename ForcedLayer to RepaintBoundary, which is more descriptive of what
      this widget does.
      
      Fixes #485
      2d824894
    • Adam Barth's avatar
      Merge pull request #484 from abarth/image_alignment · 2e2aa748
      Adam Barth authored
      Add `alignment` to image widgets
      2e2aa748
    • Adam Barth's avatar
      Add `alignment` to image widgets · d234c65d
      Adam Barth authored
      We already had the code to implement this feature. We just needed to plumb it
      out to the widget API.
      d234c65d
    • Ian Hickson's avatar
      Merge pull request #479 from Hixie/yak3-snackbar-PENDING · 5734821f
      Ian Hickson authored
      Snackbar Refactor
      5734821f
    • Hixie's avatar
      Snackbar Refactor · 954713ab
      Hixie authored
      "showSnackBar()" is now a feature of a Scaffold. To get to a Scaffold
      you either use a global key (`scaffoldKey.currentState.showSnackBar(...)`),
      or you use `Scaffold.of(context)`.
      
      Snack bars no longer have a route. They are entirely managed by the
      Scaffold. Fixes #432.
      
      Snack bars now queue up when you have several of them. Fixes #374.
      
      Snack bars now auto-size themselves around their contents. This is step
      one towards implementing multiline snack bars.
      
      Snack bars now self-dismiss after some per-snackbar configurable period.
      
      The self-dismissing pauses while a dialog is up above the snackbar (or
      anything that uses ModalRoute). To enable this, there's now a
      `ModalRoute.of(context)` API that returns the current ModalRoute, and
      you will be rebuilt if you asked for this and the route's "current"
      status changes. To implement this, the Navigator now rebuilds
      unconditionally any time it pushes or pops a route.
      
      Snack bars now use the curves that Android uses for snack bars.
      
      Snack bar contents now fade in.
      954713ab
    • Adam Barth's avatar
      Merge pull request #477 from abarth/reprojection · 67b2ee3a
      Adam Barth authored
      Reduce paint time for Stocks drawer animation by 88%
      67b2ee3a
    • Adam Barth's avatar
      Reduce paint time for Stocks drawer animation by 88% · 95eb6685
      Adam Barth authored
      Now we use a forced layer around the reprojected content of the drawer, which
      means we don't have to re-record it during the slide animation. This saves 2ms
      per frame.
      
      The total main-thread time for the drawer animation is now 2.0ms.
      95eb6685
  2. 18 Nov, 2015 24 commits