61 Commits

Author SHA1 Message Date
a6152cc14e ... 2021-01-23 11:23:33 +01:00
2360f643b7 Migrate to null safety (#127) 2021-01-23 11:09:32 +01:00
1146e1f01d Add bad golden tests (#118) 2020-12-29 19:07:10 +01:00
ba0bfcd126 Fix crash when path.computeMetrics returns empty list (#116) 2020-12-12 22:41:38 +01:00
cb8006d362 Fix Flutter web compilation error (#109) v0.7.0+1 2020-10-23 23:13:53 +02:00
bf7d0ebf05 Increase version to 0.7.0 (#107) v0.7.0 2020-10-23 18:43:56 +02:00
57faea6f5e Fill Performance Improvements and other fixes (#100)
This PR improves some fill performance issues I found with various Lottie animations.
I think the real issue comes down to the render performance of Path.addPath(). The performance issue happens in the Render thread and seems directly related to how large the animation is on-screen. Flutter might be caching pre-rendered textures and running out of memory.

I've changed how Path.addPath() is called and how the path is rendered for fill_content.dart and gradient_fill_content.dart.

Just as an example, the example/assets/Tests/bm.json animation gets ~60 fps with this fix, compared to 34-52 fps with the lottie-flutter 0.6.0 release. (This is on a Pixel 3 XL)

There are a couple of other changes:

- I fixed a bug with the casing of "weather" in pubspec.yaml. Without this fix, the examples don't build on Ubuntu Linux.
The debugging class MeanCalculator wasn't initializing its fields, causing a null pointer exception when debugging.
- I added antiAliasingSuggested to LottieDrawable to allow fill paints to be anti-aliased. It is off by default. It also provides some minor performance improvements without any noticeable loss in quality. It is only applied to fills right now.
- I added PathFactory to create Paths rather than just new-ing them. path_factory.dart allows you to switch out the normal Path creation with a debug logging implementation so you can see all of the Path calls that are performed during a frame. Just create a DebugPath in the factory rather than Path.
2020-09-10 14:18:56 +02:00
548c77dc45 Add FrameRate and improve performance (#93)
- Run the animation at the exported frame rate
- Wrap the animation in a RepaintBoundary
- Don't paint during "static" periods
v0.6.0
2020-08-04 22:02:02 +02:00
45a4c0b981 Remove direct dependency on dart:io (#90) v0.5.1 2020-07-26 23:09:58 +02:00
32b1181dad Matrix translation bug (#89) v0.5.0 2020-07-26 15:22:18 +02:00
fcfe54686d Improve web support (#88)
- Fix a couple of bug with JSON decoding with Dart Dev Compiler
- Support loading animation from network in the web version
2020-07-25 23:54:50 +02:00
b9aba4dce2 Prepare version v0.4.1 (#81) v0.4.1 2020-07-08 16:09:44 +02:00
2cb1aefb2a Sometimes sticker can has a color value stored as RGB, not RGBA (#79)
Co-authored-by: olegelifantiev <oleg-elifantiev@yandex.ru>
2020-07-08 09:47:46 +02:00
478bd27e89 Support latest version of the characters package (#76) v0.4.0+1 2020-06-10 16:15:07 +02:00
ef06d63040 Disable merge paths by default (#72) v0.4.0 2020-06-01 16:41:10 +02:00
0715f6a402 Export the Marker class (#63)
And add an example to play the animation between 2 markers
v0.3.6
2020-05-19 22:22:27 +02:00
7e81ec3f69 Fix bug with matrix.mapRect (#61)
Fix a bug in the matrix transformation applied to a rect. We now use the MatrixUtils class from Flutter.
v0.3.5
2020-05-18 12:55:53 +02:00
f9f093a8a2 Declare dependency on collection package v0.3.4 2020-05-15 16:25:15 +02:00
7c137ee55f Use offset value when drawing dashes (#58) 2020-05-15 16:14:58 +02:00
8f4952a23a Simplify AnimationController example (#50) 2020-04-18 22:54:31 +02:00
8bad4f96c0 Add an other example for animation controller (#49) 2020-04-17 21:47:07 +02:00
bb73626c46 Add golden test for all animations (#44)
And:

Improve "save_frames" example
Export AssetLottie, NetworkLottie etc..
2020-04-11 15:25:13 +02:00
47e47f5cb8 Add examples (#43)
- How to run the animation between 2 specifics frames
- How to export the animation to a file
2020-04-09 23:04:07 +02:00
954ec05598 Add alert dialog example (#39) 2020-04-03 23:20:22 +02:00
66e644d043 Prepare version 0.3.3 (#37) v0.3.3 2020-04-03 13:27:13 +02:00
3dab382b76 Fix a bug with rounded rectangles (#36) 2020-04-03 10:03:53 +02:00
078e661fd4 Add more test for dynamic properties (#35) 2020-04-03 09:14:43 +02:00
336890cafe Add a test for bugged loading animation (#34) 2020-04-01 23:57:27 +02:00
35ca2dc972 Add a test for dynamic properties (#33) 2020-04-01 23:35:27 +02:00
78aeed452f Fix bug with repeater (#29) v0.3.2 2020-03-16 09:10:35 +01:00
af9b69326a Dash path effect (#27) v0.3.1 2020-03-12 23:16:41 +01:00
511094262f Update example to latest version v0.3.0+1 2020-03-05 21:11:05 +01:00
62a60208b2 Bump version 2020-03-05 21:10:37 +01:00
c0c3ecbf5e Specify version range on the dependency on characters (#26) 2020-03-05 20:56:17 +01:00
d525de877e Fix gradients (#25) v0.3.0 2020-03-05 17:43:25 +01:00
2914caf220 Add example for hide after complete 2020-03-02 22:18:52 +01:00
e89c3c4914 Expose LottieDelegates to modify animation properties at runtime (#23) 2020-03-02 22:11:38 +01:00
4ae257eaab Set isApplyingOpacityToLayersEnabled to false (improve performance) (#22) 2020-02-27 07:53:32 +01:00
fc683482db Add an example to run an animation once (#21) 2020-02-26 23:00:28 +01:00
0d642c52f1 Port latest changes from lottie-android (#19) 2020-02-21 22:24:07 +01:00
fe748895d3 Update LICENSE 2020-02-21 20:43:06 +01:00
42833c6429 Prepare version 0.2.2 (#18) v0.2.2 2020-02-21 13:45:44 +01:00
c9a6a6a187 Expose [animate], [repeat], [reverse] in LottieBuilder (#17) 2020-02-20 21:50:31 +01:00
6eb9210952 Add test and fix for onLoaded callback (#14) 2020-02-16 15:01:13 +01:00
20405b1c5f Default repeat parameter to true to preserve old behavior 2020-02-14 22:14:53 +01:00
c383dc6be1 Make repeat optional (#12) 2020-02-14 18:50:06 +01:00
98c2efe12d Fix path bug (#11) v0.2.1 2020-02-11 12:43:50 +01:00
17618ad360 Use pub-cache in Flutter root v0.2.0+1 2020-02-08 16:10:28 +01:00
3f45f372e5 Enable the auto publishing on pub 2020-02-08 15:00:43 +01:00
289db49ad7 Fix Github Action to publish on pub when released on github (#9) 2020-02-07 19:53:12 +01:00