pub repository
mirror.p-hatan.irflutter_svg
1.1.6An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
Readme
flutter_svg
Pub Build Status Coverage Status
Draw SVG (and some Android VectorDrawable (XML)) files on a Flutter Widget.
Getting Started
This is a Dart-native rendering library. Issues/PRs will be raised in Flutter and flutter/engine as necessary for features that are not good candidates for Dart implementations (especially if they're impossible to implement without engine support). However, not everything that Skia can easily do needs to be done by Skia; for example, the Path parsing logic here isn't much slower than doing it in native, and Skia isn't always doing low level GPU accelerated work where you might think it is (e.g. Dash Paths).
All of the SVGs in the assets/ folder (except the text related one(s)) now
have corresponding PNGs in the golden/ folder that were rendered using
flutter test tool/gen_golden.dart and compared against their rendering output
in Chrome. Automated tests will continue to compare these to ensure code changes
do not break known-good renderings.
Basic usage (to create an SVG rendering widget from an asset):
final String assetName = 'assets/image.svg';
final Widget svg = SvgPicture.asset(
assetName,
semanticsLabel: 'Acme Logo'
);
You can color/tint the image like so:
final String assetName = 'assets/up_arrow.svg';
final Widget svgIcon = SvgPicture.asset(
assetName,
color: Colors.red,
semanticsLabel: 'A red up arrow'
);
The default placeholder is an empty box (LimitedBox) - although if a height
or width is specified on the SvgPicture, a SizedBox will be used instead
(which ensures better layout experience). There is currently no way to show an
Error visually, however errors will get properly logged to the console in debug
mode.
You can also specify a placeholder widget. The placeholder will display during parsing/loading (normally only relevant for network access).
// Will print error messages to the console.
final String assetName = 'assets/image_that_does_not_exist.svg';
final Widget svg = SvgPicture.asset(
assetName,
);
final Widget networkSvg = SvgPicture.network(
'https://site-that-takes-a-while.com/image.svg',
semanticsLabel: 'A shark?!',
placeholderBuilder: (BuildContext context) => Container(
padding: const EdgeInsets.all(30.0),
child: const CircularProgressIndicator()),
);
If you'd like to render the SVG to some other canvas, you can do something like:
import 'package:flutter_svg/flutter_svg.dart';
final String rawSvg = '''<svg viewBox="...">...</svg>''';
final DrawableRoot svgRoot = await svg.fromSvgString(rawSvg, rawSvg);
// If you only want the final Picture output, just use
final Picture picture = svgRoot.toPicture();
// Otherwise, if you want to draw it to a canvas:
// Optional, but probably normally desirable: scale the canvas dimensions to
// the SVG's viewbox
svgRoot.scaleCanvasToViewBox(canvas);
// Optional, but probably normally desireable: ensure the SVG isn't rendered
// outside of the viewbox bounds
svgRoot.clipCanvasToViewBox(canvas);
// The second parameter is not used
svgRoot.draw(canvas, null);
The SvgPicture helps to automate this logic, and it provides some convenience
wrappers for getting assets from multiple sources and caching the resultant
Picture. It does not render the data to an Image at any point; you
certainly can do that in Flutter, but you then lose some of the benefit of
having a vector format to begin with.
See main.dart for a complete sample.
Check SVG compatibility
As not all SVG features are supported by this library (see below), sometimes we have to dynamically check if an SVG contains any unsupported features resulting in broken images. You might also want to throw errors in tests, but only warn about them at runtime. This can be done by using the snippet below:
final SvgParser parser = SvgParser();
try {
parser.parse(svgString, warningsAsErrors: true);
print('SVG is supported');
} catch (e) {
print('SVG contains unsupported features');
}
Note: The library currently only detects unsupported elements (like the
<style>-tag), but not unsupported attributes.
Use Cases
- Your designer creates a vector asset that you want to include without converting to 5 different raster format resolutions.
- Your vector drawing is meant to be static and non (or maybe minimally) interactive.
- You want to load SVGs dynamically from network sources at runtime.
- You want to paint SVG data and render it to an image.
Out of scope/non-goals
- SMIL animations. That just seems crazy. I think it'll be possible to animate the SVG but probably in a more Flutter driven way.
- Interactivity/events in SVG.
- Any CSS support - preprocess your SVGs (perhaps with usvg or scour to get rid of all CSS?).
- Scripting in SVGs
- Foreign elements
- Rendering properties/hints
Recommended Adobe Illustrator SVG Configuration
- In Styling: choose Presentation Attributes instead of Inline CSS because CSS is not fully supported.
- In Images: choose Embded not Linked to other file to get a single svg with no dependency to other files.
- In Objects IDs: choose layer names to add every layer name to svg tags or you can use minimal,it is optional. Export configuration
SVG sample attribution
SVGs in /assets/w3samples pulled from W3 sample files
SVGs in /assets/deborah_ufw provided by @deborah-ufw
SVGs in /assets/simple are pulled from trivial examples or generated to test
basic functionality - some of them come directly from the SVG 1.1 spec. Some
have also come or been adapted from issues raised in this repository.
SVGs in /assets/wikimedia are pulled from Wikimedia Commons
Android Drawables in /assets/android_vd are pulled from Android Documentation
and examples.
The Flutter Logo created based on the Flutter Logo Widget © Google.
The Dart logo is from dartlang.org © Google
SVGs in /assets/noto-emoji are from Google i18n noto-emoji,
licensed under the Apache license.
Please submit SVGs that can't render properly (e.g. that don't render here the way they do in chrome), as long as they're not using anything "probably out of scope" (above).
Alternatives
- Rive supports importing SVGs and animating vector graphics.
- FlutterShapeMaker supports converting SVGs to CustomPaint widgets.
- Jovial SVG supports a slightly different feature set and a fast binary format.
Changelog
CHANGES
1.1.6
- Fix transforms on image tags, clipPaths.
- Avoid painting zero-width strokes.
1.1.5
- More permissive about color strings.
1.1.4
- Handle default image width/height properly.
1.1.3
- Handle
ptvalues.
1.1.2
- Update path parsing/drawing dependencies to fix arc parsing bug.
1.1.1+1
- Fix regression introduced in 1.1.1
- Update fix for fill/stroke inheritence when currentColor is specified in the SVG but not in the theme.
1.1.1
- Fix a bug introduced in 1.1.0 related to fill/stroke inheritence.
- Explicit dev_dependency on flutter_lints
- Avoid deprecated API from Flutter.
1.1.0
- Respect stroke* properties when a paint definition is used for a stroke.
- Respect stroke* properties from groups with no
@strokeproperty. - Bump package versions.
1.0.3+1
- Fix bugs in picture disposal.
1.0.3
- Use
longestLinerather thanminIntrinsicWidthto place text. - Avoid unnecessary painting when a picture doesn't actually change in [RenderPicture].
1.0.2
- Avoid cache invalidation when
currentColoror font based units are not used. - Support
remunits.
1.0.1
- Fix bug with incorrect fills in some cases of
<use>elements. - Analysis cleanup of Dart code.
- Fix bug where self-closing
<g>tags could alter rendering. - Fix bug where an invalid
@stroke-dasharraycould cause an infinite loop. - Fix bugs related to nested
<g>elements in<defs>. - Remove unnecessary
sync*related code.
1.0.0
- New widget/RenderObject implementation to avoid rebuilds/paints when near or overlapping an animating widget. Also should improve raster cacheability.
- Correctly list web as a supported platform.
- Support for em/ex units.
- Stable 1.0.0 release.
0.23.0+1
- Missing commit that reduced breakages introduced in 0.23.0
0.23.0
- Support for currentColor
- Some API breaks around PictureProvider to support currentColor
- Support for
xml:space - Support for
text-decoration - Support for
font-style
0.22.1
- Pick up performance improvements in path_parsing 0.2.1
- Performance improvements in XML parsing of SVGs.
0.22.0
- Expose
PictureCacheonPictureProvider, and deprecatePictureProvider.cacheCountandPictureProvider.clearCache. This is intended to allow users to set a maximum cache size, which was previously impossible.
0.21.0+1
- Fix alignment/sizing issues introduced in 0.21.0
0.21.0
- Stable nullsafe release.
0.21.0-nullsafety.1
- Fix bug introduced when width and height are both null on the widget.
- Use more efficient method for XML attribute parsing.
0.21.0-nullsafety.0
- Fix sizing when both width and height are null. This is potentially breaking.
- Bump versions to stable nullsafe when possible
- Update README with links to alternative implementations of SVG in Flutter.
- Attempt to report file source/key when errors happen.
- Add missing platforms to example project, update Android embedding.
- Minor fixes for future error handling to respect new Dart rules/expectations.
0.20.0-nullsafety.4
- Adds option
warningsAsErrorsthat throws errors when detecting unsupported SVG elements.
0.20.0-nullsafety.3
- Fix broken image for pub.
0.20.0-nullsafety.2
- Fix bug where HTTP headers were not passed along to the HTTP client.
0.20.0-nullsafety.1
- Remove unnecessary package:collection dependency
0.20.0-nullsafety.0
- Initial release with null safety
- Remove dead code
- Fix up incorrect
catchErrorusages
0.19.2+1
- Fix a bug where color filters were applied when they should not be.
0.19.2
- Allow for opt-in/out of color filter caching behavior, undeprecate color filtering on the providers, and allow for a global override.
0.19.1
- Fix color filtering when BlendMode.color is used.
0.19.0
- Avoid unnecessary cache invalidation of SVGs drawn with color changes by:
- Deprecate color filter related options on PictureProvider classes.
- Make ColorFilter a property on SvgPicture
- Use the ColorFiltered widget for filtered SVGs.
- Fix RTL rendering bug
0.18.1
- Bump the path_drawing dependency to 0.4.1+1
- Expose clipBehavior from FittedBox
- Expose SVG ids in
Drawable*classes. - Change type of
alignmenttoAlignmentGeometryonSvgPicture. - Fixed bug in transform parsing
0.18.0
- Drop DiagnosticbleMixin usage.
- Bump XML dependency to ^4.1.0 and resolve deprecated API usages.
- Await futures in tests.
0.17.4
- Allow
precachePictureto takenullfor aBuildContext. - Provide a clearer error message when nested
<svg>elements are used.
0.17.3+1
- Fixed regression in v0.17.3 for shape elements with no explicit fill but explicit opacity.
0.17.3
- Be more permissive about whitespace in transform attributes.
- Stop defaulting color to black when not present, fixing issue with colors
carried over from
useelements.
0.17.2
- Bumped minimum Flutter version to 1.6.7 to pick up DiagnosticableMixin.
- Allow more variations of whitespace in base64 encoded image data.
0.17.1
- Fix for issue with
useelements refering to groups or otheruseelements not correctly applying styles.
0.17.0
- Make ColorFiltering apply to whole layer instead of per paint operation.
- BREAKING Remove
colorFilterparameter fromVectorDrawable.draw. - Fix color filtering for text.
0.16.1
- Support
imagetags indefs. - Make
DrawableRasterImageimplementDrawableStyleable.
0.16.0
- Move
transformout ofDrawableStyleand ontoDrawableStyleable. Shapes already worked this way, and the transform logic was handled in a confusingly different way than all the other style attributes. - Support
<use/>elements havingids. - Properly apply transforms to referenced use eleemnts.
0.15.0
- Respect transformations on
<image/>tags. - Be more tolerant of malformed base64 data, similar to browsers (specifically, having spaces present in the data). ## 0.14.4
- Apply masks in the correct order when blend modes are involved in shapes.
0.14.4
- Support for masks on groups.
- Update example project to Android X.
0.14.3
- Support for the
mix-blend-modeattribute.
0.14.2
- Format, open up obtainKey for testing.
0.14.1
- Support for HSL colors (thanks to @christianalfoni)
0.14.0
- Added support for masks (thanks to @krispypen)
- Allow for clearing of the picture cache
0.13.1
- Fix case where color filters were incorrectly getting created.
0.13.0+2
- Same fix for group opacity/saveLayer as in 0.12.4+2
0.13.0+1
- Bump path_drawing dependency, which includes bug fixes in parsing.
0.13.0
- Updated SDK constraint to support new error message formats
- Updated error message formats
- Misc. updates for new SDK features
0.12.4+2
- Changed version constraint to prevent pulling down from wrong flutter version.
- Fixed group opacity/saveLayer bug.
0.12.4+1
- Bump dep on path_drawing which contains bugfixes for parsing.
0.12.4
- Fixed
opacityhandling, particularly for groups. Previously, opacities were averaged together, which resulted in incorrect compositing (particularly if overlapping shapes were drawn within a group). Now, a new layer is created with the opacity applied to the whole. This may cause some performance degredation, but is more correct. - Allow font-size to be specified in
px(with an explicit postfix). - Add
excludeFromSemanticsproperty for purely decorative SVGs. The default value is false.
0.12.3
- Fixed bug with stream completer unregistration.
- Fixed bug with text transforms in new parsing.
- Fixed bug with RGBA parsing for opacity
0.12.2
- Fixed bug with AVD parsing from strings.
0.12.1
- Support for
display="none"andvisibility="hidden".
0.12.0
- BREAKING Avoid scaling based on devicePixelRatio. This turned out to be a mistake, and caused rendering inconsistencies across devices. It was particularly harmful on devices where the ratio was less than 1.0.
- Add
precachePicturemethod to allow for pre-caching of SVG assets. Similar in functionality toprecacheImagein the Flutter framework. Also added improvements to error handling in the various related routines.
0.11.0+1
- Format source code
- Remove unintentionally committed pubspec.lock
0.11.0
- Rewrote parsing logic to unpin dart-xml dependency, and bumped Dart XML dependency.
- Fix bug where unsupported elements could impact drawing. Unhandled elements that have children will now be completely ignored. This is technically a breaking change, as previously a child of an unsupported element could have been drawn if it was supported. Fixes #126.
0.10.4
- Fix bug in transform logic #122
- Avoid defaulting to the rootBundle, using th DefaultAssetBundle instead when resolving pictures #118
0.10.3
- Pin dart-xml to 3.2.5, as 3.3.0 is a breaking change (next release will address this).
- Support
pxpostfixes on many double literals.
0.10.2
- Added a
semanticsLabelproperty toSvgPicture. - Updated tests to support async changes in Flutter's
Picture.toImagemethod.- This is breaking for tests - tests will now require a more recent version of Flutter to run. It should not break consumers though.
0.10.1
This is technically a breaking release, but it also includes important fixes for v0.10.0. Rather than splitting the breaking parts out in to v0.11.0 so soon after the release of v0.10.0, I'm including some more breaking changes here. This will not normally be done.
- Fix bug that caused
<stop>elements that weren't self-closing to parse improperly. - Many documentation updates/improvements.
- Added support for gradients that use
xlink:href - BREAKING: Changed some of the methods on
DrawableDefinitionServerto support gradients better. - BREAKING: Removed the
PaintServertypedef, since this was only serving gradients and we need to have more control there forxlink:hrefsupport.
0.10.0+1
- Fix bug that caused an empty
<defs/>element prevent rendering.
0.10.0
- Rewrite parsing to be more space efficient.
- Refactor parsing to enable more output possibilities.
- Create a dedicated SVG parsing class (SvgParser).
- Updates to text - better support for nested text/tspans.
- Miscellaneous bug fixes.
- Testing improvements.
0.9.0+1
- Fix inheritance issues with
text-anchor. - Fix a few inconsistencies in text anchor processing/positioning.
0.9.0
- BREAKING Improvements to text positioning. Thanks to @krispypen!
0.8.3
- Implement support for
clipPathoutside ofdefseleemnts. - Implement support for
usein aclipPath. - Recommend
usvgrather thansvgcleanerper author's recommendation.
0.8.2
- Make
DrawableNoopimplementDrawableStyleableto avoid crashing with certain unhandled elements. - Improve error reporting for certain
<style>element scenarios.
0.8.1
- Revert changes made on 0.7.0 to attempt to utilize
widthandheight. These changes did not quite fix what they were intended to fix and caused problems they weren't intended to case.
0.8.0
- Made parsing
asyncto support image loading. - Added support for
<image>elements.
0.7.0+1
- By default,
SvgPicture.assetwill now cache the asset. We already cached the final picture, but the caching included any color filtering provided on the image. This is problematic if the color is animated. See dnfield/flutter_svg#33
0.7.0
- BREAKING Correct erroneous
widthandheightprocessing on the root element.- Previously,
widthandheightwere treated as synonyms for the width and height of theviewBox. This is not correct, and resulted in meaningful rendering errors in some scenarios compared to Chrome. Fixing this makes the parser more conformant to the spec, but may make your SVGs look significantly different if they specifywidthorheight. If you want the old behavior, you'll have to update your SVGs to not specifywidthandheight(only specifyviewBox).
- Previously,
- Use
MediaQuery.of(context).devicePixelRatioif available before defaulting towindow.devicePixelRatioin places that need awareness of devicePixelRatios. - Support for
<use>,<symbol>, and shape/group elements in<defs>. There are some limitations to this currently,
0.6.3
- Consume updated version of path_drawing.
- Fix bug with fill-rule inheritance + example to test.
0.6.2
- Consume updated version of path_drawing, which fixes dnfield/flutter_svg#73
0.6.1
- Fixed an issue with stroke and fill inheritance (and added test)
- General formatting/analyzer cleanup
0.6.0
- BREAKING Update Flutter version dependencies/package dependencies
- Print unhandled errors only once, and only in debug mode (000e17f)
- Add ability to specify a
BoxFitandAlignmentfor SvgPictures (Thanks @sroddy!). - Support
userSpaceOnUsegradientUnits (@sroddy) - Miscellaneous bug fixes
- Restructure project to match expectations of Flutter tooling
0.5.5
- Create a new class to encapsulate
Paintand assist with inheriting all painting properties. - Fixes regression introduced in v0.5.2 where some previously working inheritance stopped working.
- Support more complex stroke/fill property inheritance.
0.5.4
- Consume latest path_drawing (and path_parsing) packages to fix issue(s) with smooth curve handling.
0.5.3
- Revert
HttpStatus.OKchange - not ready yet for Flutter beta channel
0.5.2
- Fix bug(s) in processing stroke and fill opacity when stroke/fill are inherited.
- Fix HTTP network headers for network pictures
0.5.1
- Consume latest change from path_drawing (fixes exponent validation)
0.5.0
- Minimum Flutter version is now 0.5.1 (latest beta as of release)
- Merge in support for Focal Pointed Radial Gradients
- Use asset directory references in pubspec.yaml
- Better support for nested
<tspan>styles - Support for
text-anchorattribute - Fix
<ellipse>parsing bug (ellipses were drawn at half the expected size) - Fix
<polyline>parsing bug (polylines were incorrectly forced to be closed)
0.4.1
- Fix bug where widget caused exception in a
FittedBox
0.4.0
- Added
widthandheightproperties toSvgPicture - Remove deprecated code related to
SvgImage - Improved reporting of error conditions
- Unsupported style elements will report an error
- Unresolvable definitions will report an error
- Fixed
matchesTextDirection - Support for
text-anchor
0.3.3
- Fix centering/scaling of canvas when viewBox is not square
- Improved color parsing
0.3.2
- Bug fix around caching for tinting/coloring (color was not being properly included in cache keys)
0.3.1
- Support for tinting/coloring the output
- Documentation updates
0.3.0
- This version represents a major rewrite of the widget(s) involved in rendering SVG drawings. This is primarily to support caching and better performance in rendering.
- New method on DrawableRoot toPicture to create a ui.Picture object from the SVG.
- Support for caching of Pictures, similar to how framework caches images. This will eventually be configurable, but is not as of this release.
BREAKING CHANGES
- BREAKING CHANGE:
SvgImage,AvdImage, andVectorDrawableImagehave been deprecated. They relied on methods that are less efficient than those now surfaced inSvgPicture. - BREAKING CHANGE: Size is no longer passed to
SvgPicture- its size is determined by parent size. - BREAKING CHANGE:
clipToViewBoxis now calledallowDrawingOutsideViewBox. It defaults to false. It should not ordinarily be set to true, as it can allow unexpected memory usage if your vector graphic tries to draw far outside of the viewBox bounds. - BREAKING CHANGE:
SvgPicturedoes not support customErrorWidgetBuilders at this point in time. However, errors will be properly logged to the console. This is a result of improvements in the loading/caching of drawings.
0.2.0
- Fix bug(s) in inheritance (better rendering of Ghostscript_Tiger.svg)
- Support for
<clipPath>s - Refactoring of how gradients are handled to enable clipPaths
- Refactor of SVG shape -> path logic
0.1.4
- Fix bugs in
<radialGradient>percentage handling. - Add error widget on error.
- Add ability to specify error/placeholder widgets.
- Minor improvement on flutter logo SVG (add missing gradient).
- Improve docs, unit tests.
0.1.3
- Add more unit tests and rendering tests (!).
- Add top level flutter_svg.dart.
- Fix bugs found in transform matrix logic for skewX and skewY.
- Minor improvements in handling inheritance for PathFillType.
- Support gradient spread types (TileModes in Flutter).
0.1.2
- Bump to path_drawing 0.2.3 (fix arc defect).
- Handle 'none' in dasharray without throwing exception.
- Better handling of inheritance and 'none' in fill/stroke/dasharray
0.1.1
- Handle opacity on groups and inherited/blended opacity.
- Fixes elements that have both opacity and stroke-opacity or fill-opacity.
- Improvements for inheritance.
- Fixes related to unspecified fills on shapes.
0.1.0
Bumping minor version due to internal breaking changes and new support. Works on dev channel as of release (Flutter >= 0.3.6).
- Refactor
DrawableRootto support top level style definition. - Support for dash paths.
- Support for more inherited attributes.
- Initial support for
@styleattributes. - Support for
rgb()color attribute/styles. - Change painting order from stroke first, then fill to fill first, then stroke
(matches Chrome rendering of
assets/simple/style_attr.svg).
0.0.2
Initial text support. Relies on flutter 0.3.6.
0.0.1
Initial release. Relies on pre-released master.
Installing
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add flutter_svgpubspec.yaml
name: flutter_svg
description: An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
repository: https://github.com/dnfield/flutter_svg
issue_tracker: https://github.com/dnfield/flutter_svg/issues
version: 1.1.6
dependencies:
flutter:
sdk: flutter
meta: ^1.7.0
path_drawing: ^1.0.1
vector_math: ^2.1.2
xml: ^6.0.1
dev_dependencies:
flutter_test:
sdk: flutter
path: ^1.8.1
test: ^1.21.1
environment:
sdk: '>=2.17.0 <3.0.0'
flutter: ">=2.11.0-0.1.pre"
## For developing features that require new functionality in engine:
# dependency_overrides:
# sky_engine:
# path: /Users/dnfield/engine/src/out/host_debug_unopt/gen/dart-pkg/sky_engine
# sky_services:
# path: /Users/dnfield/engine/src/out/host_debug_unopt/gen/dart-pkg/sky_services
Version history
| Version | Published | Archive | SHA-256 |
|---|---|---|---|
| 0.0.1 | 2018-05-01T18:33:50.580759Z | Download | 406f846678a482a5262e79414d77aced5549192124e268e0bf756406ff71ba1c |
| 0.0.2 | 2018-05-06T23:08:15.457151Z | Download | 4c4412ce702ad311e113fcad8324d8d69b9aa4f32542d9adcc71ee66459d2e4a |
| 0.1.0 | 2018-05-10T20:36:07.163330Z | Download | 6b5dacfcdd83bb03cfd5686a7b1550594e8c0989ac0598c9504aae05ed21aaf6 |
| 0.1.1 | 2018-05-11T05:10:42.004798Z | Download | db3cfb8713ff0ca44dbbe01fe6911784306009073a8e03add921bbe1dbe353d5 |
| 0.1.2 | 2018-05-14T03:52:26.400180Z | Download | 915b523af57713669111429b2bfb2525969ce8b759ed50d3fb0b715b70c75463 |
| 0.1.3 | 2018-05-15T04:32:24.429858Z | Download | 3c95a08e7a073a8eb9e06295c1512468dea0c2b320356f52e1539e1dfb0f40d9 |
| 0.1.4 | 2018-05-17T14:08:55.480193Z | Download | 0c59603ada57510f93cabef56d053cb949dd218b91a9d69123b827c2b7f86e8a |
| 0.2.0 | 2018-05-20T11:36:15.861738Z | Download | a6b92f1437c4e5ff3318deb70b186a07b370726f0fda301f0d389f5317972054 |
| 0.3.0 | 2018-05-27T04:26:49.594020Z | Download | 55a1418474d75e1f52be97da41d72d4c043e9430f3680de3b9cc0d25bfa9f956 |
| 0.3.1 | 2018-05-28T13:13:27.787460Z | Download | 23ff2faad32a863ca978517138c3a956c0ede7c0ac29f789cacf7f9504416627 |
| 0.3.2 | 2018-05-29T11:26:58.046012Z | Download | ee77192d275ee93e563750ef73f7a348058ce2989a56c7b14e9ec01442ea91fb |
| 0.3.3 | 2018-06-10T18:21:04.192930Z | Download | 31bb6521ecc5b61a714cae2066253fd6988737dac398330c76d6e3ba49c10cac |
| 0.4.0 | 2018-06-18T23:38:37.735809Z | Download | dc72374318402f38b1b835dbfc046dffacdf66797c81ad8e7ee8a920a0b7ad97 |
| 0.4.1 | 2018-06-19T22:54:03.511251Z | Download | 4ce91547c69e5102dac74d1ae0ca5f2f5c79edafc82ef4b493e162a3ccb3bf45 |
| 0.5.0 | 2018-06-26T02:10:17.749134Z | Download | 37f2549d1e6a0be2d95c498ef93666a99dbc61aa5c4127f4714ecc6be58744bf |
| 0.5.1 | 2018-07-02T12:20:58.260966Z | Download | dfa941c3a68de7bc4d33d09af6d04e811beff509a73bb25211b70878c0051169 |
| 0.5.2 | 2018-07-31T19:55:33.699865Z | Download | 4f4cd58b19a3cd9bd9cde9eb0ec00b048f2ce44e69959d0fa29dd3afb10a67c8 |
| 0.5.3 | 2018-07-31T20:03:28.726886Z | Download | e493c809047c16456890eadf2acca0677b9ad06250337740438229c5d22b60f0 |
| 0.5.4 | 2018-08-02T02:34:49.773808Z | Download | 82caefa052dcbfdc3c0eda72c4f4faa471270f48a258f6322bd86e667e0dd4b5 |
| 0.5.5 | 2018-08-08T18:13:44.417119Z | Download | 858539c7f743c0c8f712e11af2603da10525355989efd5037e8c0afa5e3eba80 |
| 0.5.5+1 | 2018-08-08T18:49:12.404517Z | Download | 1394db02c0d8da415698fddb71f06e1e42f2ff077f45fb31363fd7e9fc7d2aba |
| 0.6.0 | 2018-09-18T17:23:21.305324Z | Download | 02769f682b2e061bae3a64e3d557c166801b26cc5c271b97b8831f8b77b94937 |
| 0.6.1 | 2018-10-08T15:46:24.837825Z | Download | 083f9eb07082bf73df8b574c5f6d090c64414149e3883c12e494684cc6b5fd79 |
| 0.6.1+1 | 2018-10-08T18:10:18.895365Z | Download | 5ab435db88f3a61178a1df09d461a8ec00a3f21b5569d640ccad7b6d90f44563 |
| 0.6.2 | 2018-10-25T18:05:12.807322Z | Download | 9f9738f6816bcb57ae499c8d55c13291745005da1019b836a85b64da1af14ec4 |
| 0.6.3 | 2018-11-05T04:22:02.903581Z | Download | 88f3a50b2ce4fe22e13cf06c3276991473680a44a890895d0e63d86360397762 |
| 0.7.0 | 2018-11-28T18:07:52.232191Z | Download | f82b73fd75b2d6c12fba4230f41bef4f206e50860620a17e7572bd480d4c0f18 |
| 0.7.0+1 | 2018-11-28T22:16:27.912026Z | Download | 015f203878a2d097db913dc0f04489b0e21515086f2b0cc0f2d9bf75ce9c5be4 |
| 0.8.1 | 2018-12-17T18:37:41.613452Z | Download | 838bf671ab43e7fe98c5de126178dd77b0d14a714149c89e99e320c43c3e54a5 |
| 0.8.2 | 2018-12-18T17:46:20.886333Z | Download | 093b1a3881c5f24c6f99a37b21d6480ec3d0ec9a2d8343eaceb60ebfb13c61a0 |
| 0.8.3 | 2018-12-29T03:52:35.108980Z | Download | b7a5b238d013373661b39dd13587dd38aff975eb26b4964715914a3c7d41749a |
| 0.9.0 | 2018-12-31T08:02:56.396100Z | Download | 7d9b7a858552e6ab24a3a925b729e2009f4dcbf2b6628d72a3bda4d007adb677 |
| 0.9.0+1 | 2018-12-31T08:57:45.134778Z | Download | 18cc9c2d9d8eb29ea814964924ec49aed80be2299328b2aee42f3a3f6ea041ee |
| 0.10.0 | 2019-01-12T05:10:06.866532Z | Download | eb5292a8e7640ea9bba1e7a669ab5b28b728ff23985193362f58c20a47a82042 |
| 0.10.0+1 | 2019-01-13T17:42:30.151759Z | Download | 34c071d661a66f5748d63cebe270f1bfbf6b1c59978b95ff863a90f133cc4cfd |
| 0.10.0+2 | 2019-01-14T23:04:05.164953Z | Download | 9c0a90ea2934a0e570e0cc57711a36d7f92cac9bd0d6a1eea9981797c746dff3 |
| 0.10.1 | 2019-01-14T23:06:05.475334Z | Download | 0a0069d28eb1e1b104006d7edcc2d31896ab557765adaaa73085ee6b718b48c3 |
| 0.10.2 | 2019-01-17T18:37:30.767790Z | Download | 9bc01fba8b192cdd651e0f656ac1be21d7997f223fe0de99d4128081d0ed8939 |
| 0.10.3 | 2019-01-25T19:30:07.352336Z | Download | 34f19d15a4888efe5d98326e577d5b99e9b54ea2af8347d927ef92df627b7095 |
| 0.10.4 | 2019-02-25T18:00:55.751989Z | Download | c05f2602f5ee4cc00e0c105a2cc875080c717eed20c0a6238643b21f0b850ce7 |
| 0.11.0 | 2019-02-27T10:10:29.584266Z | Download | 9e02aaa53fc1f234a3916f9ce7c0a2a3017b31d5b5e4de331869ad4186fdcf4d |
| 0.11.0+1 | 2019-02-27T18:58:52.916607Z | Download | 5b654142bb5a550eb35abd7d2ed11f22837513a0806f8eec11196410ac42e7c0 |
| 0.12.0 | 2019-03-05T18:24:58.949822Z | Download | 5d5417b6d9b528b6ac6379275f3c82e088cccbce29326c3771c159cf4c28f027 |
| 0.12.1 | 2019-03-31T08:01:13.964520Z | Download | 3a2a3c8e45d9fb3220449777aa916e21c9ada8f0b8b914108f7f63f178f0d0f2 |
| 0.12.2 | 2019-04-03T17:57:31.736467Z | Download | 8d8b3e3a02e947e929fe3f585e66cf188a9aa59c25a4b81165182b96649d20a1 |
| 0.12.3 | 2019-04-04T22:16:49.118868Z | Download | 98e82c47206aad6f68bf85a3050af6a1e47fd788977c1c12432326826adfd958 |
| 0.12.4 | 2019-04-09T08:35:03.658070Z | Download | 7e00086347ee263f01a8138eb8c06a95f943f53b41478c2df526dfacb1425f81 |
| 0.12.4+1 | 2019-05-07T02:51:30.200192Z | Download | 7a84b88db0bc54937d9391890ca4b1e0674aed522c3e54ef433c84e3731f0c29 |
| 0.12.4+2 | 2019-06-04T21:34:20.835888Z | Download | 105da7851fc14143135db5a160001fc5d34fa92c3d2933a273228c237c78e34e |
| 0.13.0 | 2019-05-02T18:25:11.566134Z | Download | c09ac7e71e0d244b0b702cbdb5e685dcac9bc8aa88cd813363c4bf3f7851a8c3 |
| 0.13.0+1 | 2019-05-07T02:52:03.648431Z | Download | 75382f2ce9b987a7b06b96edbdb0f5c7f8b8891cc4dbe41b2ce932fe4d80fc06 |
| 0.13.0+2 | 2019-06-04T21:51:32.702345Z | Download | 28dce97f235d31941d48a78ba6b52d4bedd182abe382835196cd9e16966569cb |
| 0.13.1 | 2019-07-10T23:58:37.524278Z | Download | 1dc25f89ad0452f88b7cea28ab4f28bbf217cd280b6bb958e038222db1adae25 |
| 0.14.0 | 2019-07-31T17:40:08.601195Z | Download | 579477c1dc9067d16ffcd105970fc9fbb02fead8373e003a4e53e3516d3c062e |
| 0.14.1 | 2019-09-03T19:53:38.639827Z | Download | 949c0a36bc116751938222c0256ab42a90340992c7f070f80d06b1ca15972350 |
| 0.14.2 | 2019-10-09T18:17:16.914335Z | Download | 58c864b53df30dccb07ef099eb5bec717a14bd6b6204f74b658825d7f718d1ae |
| 0.14.3 | 2019-10-22T00:40:14.902804Z | Download | d3573c74e29b1807369ac6d4a393314ed5a291de6de413a4d2d6fe2215e33875 |
| 0.14.4 | 2019-11-07T08:15:32.962098Z | Download | 4e430a745cb31d0c734bddb484522905b1bc1c895b05aaacefc2f48dedccdb65 |
| 0.15.0 | 2019-11-20T05:46:45.239918Z | Download | 3c7a6cb2fb506f76547d59d4fedd286675a2ce26a66570468107eaa2ea5146ea |
| 0.16.0 | 2020-01-19T07:20:25.210089Z | Download | 5253678b97cfc6c1cdaa07bf021090826f2cded74ee80124baa2e5f9cf64eacf |
| 0.16.1 | 2020-01-20T04:04:19.484936Z | Download | b9340a136429e45f4fb9224f6f84b98f6842a80221bbc6d77b4fee6c69ae05cb |
| 0.17.0 | 2020-01-24T06:18:00.258317Z | Download | c331737c350fca318d2123641b69a04e8c1b8b063064edcc11c585a50d0f0848 |
| 0.17.1 | 2020-01-30T04:14:14.466164Z | Download | 5009d513311c60dec9a15010a55963413a6eadfceb920bb6475ad28e8cedd6a7 |
| 0.17.2 | 2020-02-27T17:39:32.587772Z | Download | bd1949034099df8de80e057107d83832d50d2b8efb55bb82fe9997bd1fb9b5c9 |
| 0.17.3 | 2020-03-09T14:04:37.681699Z | Download | 92ff41593aa91f5d8da5f72ed269730d5978fc550108bb80bca18602faa16c51 |
| 0.17.3+1 | 2020-03-09T22:18:48.757896Z | Download | 82bf44fedc1bd80030d85bba1deeaea8b2c69908c775d60fee94c6a08a3b5ea1 |
| 0.17.4 | 2020-04-07T04:41:55.967251Z | Download | 565738e46beb692622c0fad7419aabcc54d15693845049085948c76406da386f |
| 0.18.0 | 2020-06-08T21:28:15.271599Z | Download | a95b013ef156de095dc6ec218920380c8d83db52b97df4d56c3e77fbf1c4d3c5 |
| 0.18.1 | 2020-08-21T23:48:08.489378Z | Download | 57de6527271cd47884d93c37e6bc44c5a72fdbb2cbdce56eb38f8faef7140b63 |
| 0.19.0 | 2020-09-11T19:42:41.495507Z | Download | c1a15360a49b0619b488a2f300468f668e67177b401f619e2ac92faa23fd751f |
| 0.19.1 | 2020-10-19T19:56:36.198842Z | Download | dd44f2c22eb0e6d02fdd2d2299275ff08044d68fd16f4b01d36c7d0392b675bf |
| 0.19.2 | 2020-11-19T23:33:35.461999Z | Download | 6b668bca9ef3cece10ddf0f4d49d0cb8bcc21f21dae68219452e617667bf7a99 |
| 0.19.2+1 | 2020-11-20T00:49:50.880311Z | Download | 072623cdd6cd1371271fb11fb469aa58225ddb0e6f985b624ccd101122d8221a |
| 0.19.3 | 2021-02-26T18:54:19.644894Z | Download | 676ae0d285e7c066b0400da7863aec1d14417b2f3858514b0e161d233c8495e2 |
| 0.20.0-nullsafety.0 | 2020-12-03T17:50:38.085212Z | Download | 078cb77bd48d93d944b1229cc57671752dd61a47c93927f1c66f2220c1215d56 |
| 0.20.0-nullsafety.2 | 2020-12-09T18:32:04.605518Z | Download | 423bb72163732d277beb2fa478bf3320d4e26f9b5540b0e8e99c1fe2c9e84cea |
| 0.20.0-nullsafety.3 | 2020-12-16T19:03:57.429957Z | Download | 138b19e7554e97d680dc391fb21639c89db979f437a74bd2ad5ff207c0082a5c |
| 0.21.0-nullsafety.0 | 2021-02-24T04:22:36.950384Z | Download | f58ec03710778478d381c73a09543eea27cfe05e0dbb1a4fa450c5c060df7eab |
| 0.21.0-nullsafety.1 | 2021-04-06T23:08:31.604654Z | Download | db9dc42fc8923d32ad20e833d127d02d88130601e0bdcd624798207972d996bf |
| 0.21.0 | 2021-04-06T23:16:28.390117Z | Download | 817a28a8f1ead5ff55a3f682228985824395ec92ff9fe4aafcea845ea176d791 |
| 0.21.0+1 | 2021-04-07T20:56:39.495782Z | Download | 4d557c7923add388b674af1691498e13df66b1997dd0c5234f062dfe7585f544 |
| 0.22.0 | 2021-04-22T05:59:27.349748Z | Download | 9ac1967e2f72a08af11b05b39167920f90d043cf67163d13a544a358c8f31afa |
| 0.23.0 | 2021-10-13T05:13:45.253351Z | Download | 5cc870d214630390c4894424132d726343cf2a8e3ce18c44c9fd1d8498531e2b |
| 0.23.0+1 | 2021-10-13T05:16:43.056207Z | Download | cbf529d563dd910a249041bde2a0dfc3cf62280fcc459b85f3d614b2ab73abb3 |
| 1.0.0 | 2021-12-02T18:51:00.994051Z | Download | 224981c7a4f05efa7bf3bdffa1d1a662f145777246cb03e2b76e9553695ed2a1 |
| 1.0.1 | 2022-01-11T23:42:31.643308Z | Download | abea310e14b43b3244d443db9d58013ce05d2160d4150b7ee9d7b1d0abcbdc27 |
| 1.0.2 | 2022-01-18T22:09:47.858828Z | Download | ed6e57c7d8854c2d4d96a0de50232d2c919054df027ba9f972d3dd2100f326db |
| 1.0.3 | 2022-01-21T19:49:18.123128Z | Download | c9bb2757b8a0bbf8e45f4069a90d2b9dbafc80b1a5e28d43e29088be533e6df4 |
| 1.1.0 | 2022-05-23T16:22:23.198991Z | Download | a9feefaa78b0b685d2678552a0337912e3b6938f0148979b9e1618e64ccdb08d |
| 1.1.1 | 2022-06-28T17:00:24.966628Z | Download | a7044bb5a074a44b0869336ecfb359b6160d02a7f19dc81925faba93c3e1b233 |
| 1.1.1+1 | 2022-07-02T06:24:56.770575Z | Download | 69043137413dbe1e5daa557c840af307fd784da0f2a89e1e25b3cd8edd788d3e |
| 1.1.2 | 2022-08-04T01:02:19.785501Z | Download | 0d957454e9fadaef9c1bfd0189ca94dcf310236a7169b5ec029cac1d8afc117f |
| 1.1.3 | 2022-08-05T18:24:14.981948Z | Download | 0382db7886d4d0e23dd4e1261406bdf65ffdf7ecbdcb25c1f5ad09a80ecfab96 |
| 1.1.4 | 2022-08-17T18:41:22.318122Z | Download | e5422480e99e0b9c3324736f46cb3b9d27996125e327f6b91fb5b0303f849cf7 |
| 1.1.5 | 2022-09-09T17:11:57.909462Z | Download | f2aa23d9d1721cd5c2c5097558368d2a1f85be35a85a6cf26a626e80c369a47c |
| 1.1.6 | 2022-10-25T07:37:54.978955Z | Download | 6ff9fa12892ae074092de2fa6a9938fb21dbabfdaa2ff57dc697ff912fc8d4b2 |
| 2.0.0-dev.2 | 2023-01-20T19:14:34.678687Z | Download | fca9d5b89b3c63438c9ebfee668ffab6538e0d074dc5aa16c95c47390ab2c377 |
| 2.0.0 | 2023-02-02T18:19:09.417786Z | Download | 98caa3d15cf524eefb48f173ebc64d818f6c017d6616220b63983d8526a4dd8c |
| 2.0.0+1 | 2023-02-03T06:07:15.863405Z | Download | f999d84ad2efda1c4c3956e7968b713b3a24b06f0a0e4798e844e16bbb9bb70b |
| 2.0.1 | 2023-02-13T17:36:05.221748Z | Download | b9be7260c1fdbe0090a11d9d356fc2c88e14cf33407fc0c1829d76ab13808035 |
| 2.0.2 | 2023-02-22T06:22:53.596341Z | Download | 97c5b291b4fd34ae4f55d6a4c05841d4d0ed94952e033c5a6529e1b47b4d2a29 |
| 2.0.3 | 2023-03-09T17:13:11.402198Z | Download | 017cb37b3e9bee44cc800e35469f295d537484602f02ce6ceb5876236cc7e1fe |
| 2.0.4 | 2023-03-14T21:34:09.616121Z | Download | 12006889e2987c549c4c1ec1a5ba4ec4b24d34d2469ee5f9476c926dcecff266 |
| 2.0.5 | 2023-04-10T16:43:20.727849Z | Download | f991fdb1533c3caeee0cdc14b04f50f0c3916f0dbcbc05237ccbe4e3c6b93f3f |
| 2.0.6 | 2023-05-18T18:21:47.765870Z | Download | 6ff8c902c8056af9736de2689f63f81c42e2d642b9f4c79dbf8790ae48b63012 |
| 2.0.7 | 2023-06-12T17:31:23.438832Z | Download | 8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338 |
| 2.0.8 | 2023-10-24T23:05:38.586661Z | Download | bfc7cc3c75fe1282e8ce2e056d8fd1533f1a6848b65c379b4a5e7a9b623d3371 |
| 2.0.9 | 2023-10-31T22:10:48.904854Z | Download | d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c |
| 2.0.10 | 2024-02-20T16:54:27.794892Z | Download | 8f11725d2b075516efc364ec2cbcaacdf76e292725f02afa2657fbfb8af4a781 |
| 2.0.10+1 | 2024-02-20T18:26:32.633512Z | Download | 7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2 |
| 2.0.11 | 2024-10-31T19:28:15.235707Z | Download | 1b7723a814d84fb65869ea7115cdb3ee7c3be5a27a755c1ec60e049f6b9fcbb2 |
| 2.0.12 | 2024-11-04T23:11:41.023899Z | Download | 2ca230f2ef6e31151769f4a03ec806b94f0554ff02ea1a40bb0d531ac150f035 |
| 2.0.13 | 2024-11-05T16:16:35.848087Z | Download | de82e6bf958cec7190fbc1c5298282c851228e35ae2b14e2b103e7f777818c64 |
| 2.0.14 | 2024-11-07T12:50:23.779891Z | Download | 578bd8c508144fdaffd4f77b8ef2d8c523602275cd697cc3db284dbd762ef4ce |
| 2.0.15 | 2024-11-21T01:17:10.635187Z | Download | 936d9c1c010d3e234d1672574636f3352b4941ca3decaddd3cafaeb9ad49c471 |
| 2.0.16 | 2024-11-26T23:00:00.096433Z | Download | 54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123 |
| 2.0.17 | 2025-01-09T00:50:30.305334Z | Download | c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b |
| 2.1.0 | 2025-04-18T15:24:01.949167Z | Download | d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1 |
| 2.2.0 | 2025-06-16T16:31:48.115645Z | Download | cd57f7969b4679317c17af6fd16ee233c1e60a82ed209d8a475c54fd6fd6f845 |
| 2.2.1 | 2025-09-03T15:31:48.532941Z | Download | b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678 |
| 2.2.2 | 2025-11-04T19:59:05.716513Z | Download | 055de8921be7b8e8b98a233c7a5ef84b3a6fcc32f46f1ebf5b9bb3576d108355 |
| 2.2.3 | 2025-11-21T13:37:21.213233Z | Download | 87fbd7c534435b6c5d9d98b01e1fd527812b82e68ddd8bd35fc45ed0fa8f0a95 |
| 2.2.4 | 2026-03-06T16:41:16.471349Z | Download | 1ded017b39c8e15c8948ea855070a5ff8ff8b3d5e83f3446e02d6bb12add7ad9 |
| 2.3.0 | 2026-05-08T22:33:36.973597Z | Download | 35882981abcbfb8c15b286f0cd690ff25bac12d95eff3e25ee207f37d4c42e7f |
| 2.3.2 | 2026-10-28T21:10:51.555314Z | Download | 100c19dcc4ff60083e95a44a6f44f3a1bb887d353c5d86f6a9b688aa3cb46236 |
Dependencies
flutter {
"sdk": "flutter"
}
meta "^1.7.0"
path_drawing "^1.0.1"
vector_math "^2.1.2"
xml "^6.0.1"