- 23 Oct, 2016 1 commit
-
-
Wyatt Arent authored
-
- 21 Oct, 2016 1 commit
-
-
Ian Hickson authored
Add some docs to explain how to use setState() wiht Checkbox, Radio, Slider, and Switch. Based on experience of usability study participant P1.
-
- 26 Sep, 2016 1 commit
-
-
Ian Hickson authored
This requires all AnimationController objects to be given a TickerProvider, a class that can create the Ticker. It also provides some nice mixins for people who want to have their State provide a TickerProvider. And a schedulerTickerProvider for those cases where you just want to see your battery burn. Also, we now enforce destruction order for elements.
-
- 16 Aug, 2016 1 commit
-
-
Ian Hickson authored
We have so many render objects going on these days that showing every box that gets an event just makes the screen blue. This limits it down to only the ones that are actually doing something with the events.
-
- 29 Jul, 2016 1 commit
-
-
Dragoș Tiselice authored
* Added custom radii to RRect. This is the first commit towads an implementation of MergeableMaterial. It adds custom radii to RRect. * Renamed RRect constructors and added BorderRadius. BorderRadius is a class similar to EdgeInsets that lets you define all rounded corners of a rounded rectangle easily.
-
- 08 Jul, 2016 1 commit
-
-
Adam Barth authored
Rather than requiring the developer to specify a full Decoration, we now just take an ImageProvider for the thumb image. Also, fix ImageFit.scaleDown to actually work. Fixes #4571 Fixes #4673
-
- 17 Jun, 2016 1 commit
-
-
Ian Hickson authored
I broke them when refactoring images. Oops.
-
- 16 Jun, 2016 1 commit
-
-
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
-
- 15 Jun, 2016 1 commit
-
-
Eric Seidel authored
Our track and head were slightly off in size. These now exactly match the sizes in https://material.google.com/components/selection-controls.html#selection-controls-switch We took the liberty of assuming the head overlaps the edge of the track by 2 pixels (instead of the head and the track ending at the same point) which the provided designs were conflicted about. Huge thanks to @DaveShuckerow for noticing this issue! @abarth
-
- 12 Jun, 2016 1 commit
-
-
Adam Barth authored
We now use the `@required` annotation to encourage developers to explicitly set onPressed and onChanged callbacks to null when that would disable the widget. Fixes #287
-
- 07 Jun, 2016 1 commit
-
-
Todd Volkert authored
Fixes 3544
-
- 03 Jun, 2016 1 commit
-
-
Adam Barth authored
Previously we supplied individual parameters to the various drag and pan callbacks. However, that approach isn't extensible because each new parameter is a breaking change to the API. This patch makes a one-time breaking change to the API to provide a "details" object that we can extend over time as we need to expose more information. The first planned extension is adding enough information to accurately produce an overscroll glow on Android.
-
- 26 May, 2016 1 commit
-
-
Adam Barth authored
We weren't listening to the decorations to see when they loaded. Fixes #4185
-
- 12 May, 2016 1 commit
-
-
pq authored
It's safe to remove the unneeded `void`s from setters since the blocking issues in the `always_declare_return_types` lint have been fixed (https://github.com/dart-lang/linter/). We can also safely flip the bit on `avoid_return_types_on_setters`.
-
- 22 Apr, 2016 1 commit
-
-
Adam Barth authored
Fixes #3501
-
- 08 Apr, 2016 1 commit
-
-
Adam Barth authored
The dartdoc will continue until morale improves.
-
- 01 Apr, 2016 1 commit
-
-
Adam Barth authored
-
- 31 Mar, 2016 2 commits
-
-
Adam Barth authored
Also, fill out other documentation for these widgets. Fixes #967
-
Adam Barth authored
The touch ripple now starts at the touch location instead of being centered on the widget. Fixes #2652
-
- 21 Mar, 2016 1 commit
-
-
Adam Barth authored
Fixes #2621
-
- 14 Mar, 2016 1 commit
-
-
Hixie authored
-
- 12 Mar, 2016 4 commits
-
-
Adam Barth authored
This patch renames StatelessComponent to StatelessWidget and StatefulComponent to StatefulWidget. Fixes #2308
-
Hixie authored
And fix the zillion issues that uncovered.
-
Ian Hickson authored
This reverts commit f41b3411, reversing changes made to e33d8d96. This was a bad check-in due to my mangling uploading a new version of the branch from a different machine. This reverts https://github.com/flutter/flutter/pull/2639 and will be replaced by https://github.com/flutter/flutter/pull/2640
-
Hixie authored
And fix the zillion issues that uncovered.
-
- 11 Mar, 2016 1 commit
-
-
Adam Barth authored
We'll need this for RTL support because the RTL state will live in the widget tree. Also, remove the `oldWidget` argument to updateRenderObject because there aren't any clients for it.
-
- 01 Mar, 2016 1 commit
-
-
Adam Barth authored
Fixes #1381
-
- 25 Feb, 2016 1 commit
-
-
Adam Barth authored
There's no reason to make clients supply a PointerRounter and a GestureArena when constructing gesture recognizers. These objects are statics and the gesture recognizers can just grab them directly. Also, remove the callback constructor arguments. Almost no code used them. Instead, people seem to prefer using the `..` operator to set callbacks on the recognizers. Removing the arguments removes a bunch of boilerplate.
-
- 14 Feb, 2016 1 commit
-
-
Adam Barth authored
We were using an Offset, which represented pixels/second, but it wasn't clear to clients whether that was pixels/ms. Now we use a Velocity class that is explict about the units. Fixes #1510 Fixes #785
-
- 11 Feb, 2016 1 commit
-
-
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.
-
- 20 Jan, 2016 1 commit
-
-
Adam Barth authored
After this patch, there aren't any direct uses of Performance in material.dart.
-
- 14 Dec, 2015 2 commits
-
-
Ian Hickson authored
-
Ian Hickson authored
-
- 09 Dec, 2015 1 commit
-
-
Adam Barth authored
We might want to let folks customize the inactive color too, but customizing the active color is a good place to start.
-
- 08 Dec, 2015 2 commits
-
-
Adam Barth authored
After this patch, if you try to use a widget that depends on being enclosed in a material, you now get an assert and a debugPrint if you're not inside a material. Fixes #243
-
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).
-
- 05 Dec, 2015 2 commits
-
-
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.
-
Adam Barth authored
We can just use Canvas now. The two are the same thing.
-
- 02 Dec, 2015 1 commit
-
-
Jason Simmons authored
-
- 27 Nov, 2015 1 commit
-
-
Adam Barth authored
-