1. 21 Feb, 2019 1 commit
  2. 07 Jan, 2019 1 commit
  3. 15 Oct, 2018 1 commit
    • Gary Qian's avatar
      Add support for text shadows and roll engine (26 commits) (#22449) · bdc3dda5
      Gary Qian authored
      * Add support for shadows in text.
      
      * Use dart:ui Shadow as base class for Shadows
      
      * Update lerp definition
      
      * Roll engine 3ffa3629523..84fe4a9f7e24e4 - Text Shadows and update goldens for skia roll.
      
      git log 50c2e69daff4e207c54e463d2304139985c7511c..32f417db0d566d354605305cb29c251276fa65ee --oneline --no-merges
      32f417db0 Roll tonic to 077be256142ede39a271385907faadf4fcc62a4d. (#6541)
      4ee77256c Revert "Roll Dart to 1f4dfce179c8f05c9e48759300a15e671b88cc10 (#6515)" (#6537)
      964acafeb Roll src/third_party/skia 646d917d3c71..c6a17104ad68 (1 commits) (#6536)
      d4bae4ca4 Roll src/third_party/skia 2b2c00f6ec36..646d917d3c71 (1 commits) (#6535)
      ff93ccf47 Roll src/third_party/skia 681692726fc0..2b2c00f6ec36 (1 commits) (#6534)
      a4161c895 Roll src/third_party/skia 23775a2e9736..681692726fc0 (1 commits) (#6532)
      116072e46 Roll src/third_party/skia 7435f2553f53..23775a2e9736 (1 commits) (#6531)
      ef0b0f6e9 Roll src/third_party/skia bc7a51e79c5b..7435f2553f53 (1 commits) (#6530)
      f46b7b971 Roll src/third_party/skia b28db529c866..bc7a51e79c5b (1 commits) (#6529)
      9033c3902 Roll src/third_party/skia 7e67041a1428..b28db529c866 (1 commits) (#6528)
      e6887a412 Add missing imports for unicode/utf16.h (#6524)
      1242f6dfe Roll src/third_party/skia d38382d060ca..7e67041a1428 (2 commits) (#6527)
      a1bbea77c Add a no-op platform view layer. (#6505)
      2bb3afad8 Roll src/third_party/skia 21bd60daa3f3..d38382d060ca (10 commits) (#6526)
      75e875240 Fix the Mac embedder build (#6525)
      436f9707b Add version check for dismissable (#6522)
      7767c785b Provide a default GL function resolver in the embedder (#6523)
      32841dd89 Case-insensitive matching of family names for custom fonts (#6519)
      a9076c7e6 Roll src/third_party/skia 419709dbb167..21bd60daa3f3 (11 commits) (#6520)
      f2e7441b5 An API for loading fonts from a buffer provided by the application (#6508)
      05aac0f27 fix ResourceExtractor npe. (#6461)
      cf5a2a145 Roll src/third_party/skia b27a9cf2f4a8..419709dbb167 (16 commits) (#6517)
      84fe4a9f7 Re-revert invalid line height tests (#6516)
      5f529566c Add support for text shadows (#6385)
      e44c10c96 Reland "Share engine layers with the framework" (#6412) (#6468)
      ba0449971 Roll Dart to 1f4dfce179c8f05c9e48759300a15e671b88cc10 (#6515)
      bdc3dda5
  4. 05 Oct, 2018 1 commit
  5. 26 Sep, 2018 1 commit
  6. 21 Feb, 2018 1 commit
  7. 12 Jan, 2018 1 commit
  8. 21 Dec, 2017 1 commit
  9. 07 Dec, 2017 1 commit
    • Ian Hickson's avatar
      Move image logic from services/ to painting/. (#13409) · 44e228eb
      Ian Hickson authored
      This allows the scheduler library to depend on the services library
      and the painting library to depend on the scheduler library without
      the services library having to depend on the scheduler library.
      
      While I was at it I also cleaned up some of the binding logic: the
      licenses logic can now be overridden (and the test library does so),
      and the image cache can now be overridden as well.
      44e228eb
  10. 17 Nov, 2017 1 commit
    • Greg Spencer's avatar
      Fix spelling errors in all the dartdocs. (#13061) · 0259be90
      Greg Spencer authored
      I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once.
      
      This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
      0259be90
  11. 20 Oct, 2017 1 commit
  12. 18 Oct, 2017 1 commit
  13. 17 Oct, 2017 1 commit
  14. 05 Oct, 2017 1 commit
  15. 03 Oct, 2017 1 commit
  16. 20 Sep, 2017 1 commit
  17. 03 Aug, 2017 1 commit
  18. 25 Jul, 2017 1 commit
  19. 03 May, 2017 1 commit
  20. 14 Apr, 2017 1 commit
  21. 12 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * Manually fix every use of Point.x and Point.y
      
      Some of these were moved to dx/dy, but not all.
      
      * Manually convert uses of the old gradient API
      
      * Remove old reference to Point.
      
      * Mechanical changes
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
      git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
      git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
      git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
      git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
      git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
      git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
      git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
      git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
      git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'
      
      * Mechanical changes - dartdocs
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
      git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'
      
      * Further improvements and a test
      
      * Fix minor errors from rebasing...
      
      * Roll engine
      bf017b79
  22. 19 Nov, 2016 1 commit
  23. 14 Nov, 2016 1 commit
  24. 12 Sep, 2016 1 commit
  25. 15 Aug, 2016 1 commit
    • Ian Hickson's avatar
      A Flutter logo widget. (#5382) · 955b3e21
      Ian Hickson authored
      Instead of a PNG, the Flutter gallery widget is now drawn in code.
      
      There's now a FlutterLogoDecoration class that paints the flutter logo
      anywhere you can use a Decoration (e.g. AnimatedContainer).
      
      There's now a FlutterLogo class that honors the IconTheme.
      
      The About dialog box API now takes a Widget for the applicationIcon,
      instead of an ImageProvider. It uses IconTheme to make the icon the
      right size instead of using an Image widget.
      
      Add padding, duration, and curve properties to the DrawerHeader.
      Make the child of a DrawerHeader optional.
      
      Clean up UserAccuntsDrawerHeader a bit.
      
      Add some useful properties and methods to EdgeInsets.
      
      Add some debug logic to RenderDecoratedBox to catch unpaired
      save/restore calls when possible.
      
      Make GestureDetector fill its parent if it has no children. Fixes
      https://github.com/flutter/flutter/issues/5380
      955b3e21
  26. 22 Jul, 2016 1 commit
  27. 16 Jun, 2016 1 commit
    • Ian Hickson's avatar
      Refactor everything to do with images (#4583) · 2dfdc840
      Ian Hickson authored
      Overview
      ========
      
      This patch refactors images to achieve the following goals:
      
      * it allows references to unresolved assets to be passed
        around (previously, almost every layer of the system had to know about
        whether an image came from an asset bundle or the network or
        elsewhere, and had to manually interact with the image cache).
      
      * it allows decorations to use the same API for declaring images as the
        widget tree.
      
      It requires some minor changes to call sites that use images, as
      discussed below.
      
      Widgets
      -------
      
      Change this:
      
      ```dart
            child: new AssetImage(
              name: 'my_asset.png',
              ...
            )
      ```
      
      ...to this:
      
      ```dart
            child: new Image(
              image: new AssetImage('my_asset.png'),
              ...
            )
      ```
      
      Decorations
      -----------
      
      Change this:
      
      ```dart
            child: new DecoratedBox(
              decoration: new BoxDecoration(
                backgroundImage: new BackgroundImage(
                  image: DefaultAssetBundle.of(context).loadImage('my_asset.png'),
                  ...
                ),
                ...
              ),
              child: ...
            )
      ```
      
      ...to this:
      
      ```dart
            child: new DecoratedBox(
              decoration: new BoxDecoration(
                backgroundImage: new BackgroundImage(
                  image: new AssetImage('my_asset.png'),
                  ...
                ),
                ...
              ),
              child: ...
            )
      ```
      
      DETAILED CHANGE LOG
      ===================
      
      The following APIs have been replaced in this patch:
      
      * The `AssetImage` and `NetworkImage` widgets have been split in two,
        with identically-named `ImageProvider` subclasses providing the
        image-loading logic, and a single `Image` widget providing all the
        widget tree logic.
      
      * `ImageResource` is now `ImageStream`. Rather than configuring it with
        a `Future<ImageInfo>`, you complete it with an `ImageStreamCompleter`.
      
      * `ImageCache.load` and `ImageCache.loadProvider` are replaced by
        `ImageCache.putIfAbsent`.
      
      The following APIs have changed in this patch:
      
      * `ImageCache` works in terms of arbitrary keys and caches
        `ImageStreamCompleter` objects using those keys. With the new model,
        you should never need to interact with the cache directly.
      
      * `Decoration` can now be `const`. The state has moved to the
        `BoxPainter` class. Instead of a list of listeners, there's now just a
        single callback and a `dispose()` method on the painter. The callback
        is passed in to the `createBoxPainter()` method. When invoked, you
        should repaint the painter.
      
      The following new APIs are introduced:
      
      * `AssetBundle.loadStructuredData`.
      
      * `SynchronousFuture`, a variant of `Future` that calls the `then`
        callback synchronously. This enables the asynchronous and
        synchronous (in-the-cache) code paths to look identical yet for the
        latter to avoid returning to the event loop mid-paint.
      
      * `ExactAssetImage`, a variant of `AssetImage` that doesn't do anything clever.
      
      * `ImageConfiguration`, a class that describes parameters that configure
        the `AssetImage` resolver.
      
      The following APIs are entirely removed by this patch:
      
      * `AssetBundle.loadImage` is gone. Use an `AssetImage` instead.
      
      * `AssetVendor` is gone. `AssetImage` handles everything `AssetVendor`
        used to handle.
      
      * `RawImageResource` and `AsyncImage` are gone.
      
      The following code-level changes are performed:
      
      * `Image`, which replaces `AsyncImage`, `NetworkImage`, `AssetImage`,
        and `RawResourceImage`, lives in `image.dart`.
      
      * `DecoratedBox` and `Container` live in their own file now,
        `container.dart` (they reference `image.dart`).
      
      DIRECTIONS FOR FUTURE RESEARCH
      ==============================
      
      * The `ImageConfiguration` fields are mostly aspirational. Right now
        only `devicePixelRatio` and `bundle` are implemented. `locale` isn't
        even plumbed through, it will require work on the localisation logic.
      
      * We should go through and make `BoxDecoration`, `AssetImage`, and
        `NetworkImage` objects `const` where possible.
      
      * This patch makes supporting animated GIFs much easier.
      
      * This patch makes it possible to create an abstract concept of an
        "Icon" that could be either an image or a font-based glyph (using
        `IconData` or similar). (see
        https://github.com/flutter/flutter/issues/4494)
      
      RELATED ISSUES
      ==============
      
      Fixes https://github.com/flutter/flutter/issues/4500
      Fixes https://github.com/flutter/flutter/issues/4495
      Obsoletes https://github.com/flutter/flutter/issues/4496
      2dfdc840
  28. 07 Apr, 2016 1 commit
  29. 21 Mar, 2016 1 commit
    • Ian Hickson's avatar
      Provide more documentation for MojoShell · bef6ff3b
      Ian Hickson authored
      As usual, as I was doing this I ran into some stuff that seemed hard
      to document as-is and so I changed it. In this case, in the "http"
      library. The new code is more or less equivalent, I think, but the
      resulting documentation makes it more obvious that it's wrong...
      bef6ff3b
  30. 18 Mar, 2016 1 commit
  31. 14 Mar, 2016 1 commit
  32. 12 Mar, 2016 1 commit
  33. 11 Mar, 2016 1 commit
    • Ian Hickson's avatar
      Enable ALL THE LINTS · 1b9cd520
      Ian Hickson authored
      Well, all the easy ones, anyway.
      
      For some reason `// ignore:` isn't working for me so I've disabled
      lints that need that. Also disabled those that require a ton of work
      (which I'm doing, but not in this PR, to keep it reviewable).
      
      This adds:
      - avoid_init_to_null
      - library_names
      - package_api_docs
      - package_names
      - package_prefixed_library_names
      - prefer_is_not_empty
      - sort_constructors_first
      - sort_unnamed_constructors_first
      - unnecessary_getters_setters
      1b9cd520
  34. 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
  35. 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