Граф коммитов

416 Коммитов

Автор SHA1 Сообщение Дата
Konstantin S b895def785
Fixed typos in settings.xamlstyler (#481) 2022-01-11 12:49:42 -08:00
aborziak-ms 426710b749
Fixed ComposeMatteLayers method to work for invisible layers (#479) 2021-12-15 13:24:51 -08:00
aborziak-ms 6078607cc8
[LottieGen] Fixed UAP version check for Drop Shadow effect (#480) 2021-12-15 11:36:26 -08:00
aborziak-ms 965d744ff2
[LottieViewer] PixelView bug fixed. We should not update pixel view when it is not on the screen. (#475) 2021-10-14 10:10:39 -07:00
aborziak-ms 6d34478b01
[LottieGen] New optimizer that collapses PreComp layers if they reference the same RefId for AnimatedIcon (#474) 2021-10-06 16:49:11 -07:00
aborziak-ms e937956fb9
[Issues] Updated LT0030 issue to show that LottieGen actually supports linked image files (#473) 2021-10-04 12:06:43 -07:00
aborziak-ms cb75b8b0e5
[LottieGen] Moved files from experimental folder (#472) 2021-09-17 13:08:33 -07:00
aborziak-ms 3a7af18b4c
Version changed to 7.0.5 (#468) 2021-09-01 10:48:15 -07:00
aborziak-ms 31f8a44523
[LottieViewer] Pixel View feature added (#469) 2021-09-01 09:54:32 -07:00
aborziak-ms 784b286bbb
[LottieGen] Graph compactor fix. Do not coalesce root container visuals. (#467) 2021-08-23 13:04:38 -07:00
Aaron Schultz 7ae8a39e2d
Replace 'is null' with more compatible clause and fix MSBuild bug. (#465)
- Replace is null usages in generated code with downlevel equivalent to support older versions of C# in client applications
- Fix MSBuild task to send bool args correctly. The LottieGen cmdline only allows flags to be set without an associated value arg.
2021-08-20 12:56:03 -07:00
aborziak-ms b242a33445
Added more merge optimizer options and moved optimizer call for LottieViewer (#460) 2021-08-18 11:31:49 -07:00
aborziak-ms 76d04c3897
Updated version file (#461) 2021-08-16 15:15:25 -07:00
aborziak-ms f5a5e97e5e
Translate shape as a separate visual with child if it has animated opacity (#459) 2021-08-16 09:33:33 -07:00
aborziak-ms e0a2b5a5e9
Added SolidColorStroke merge optimization (#458) 2021-08-12 11:49:54 -07:00
aborziak-ms d63112c417
Lottie Viewer | Added scale slider. Added repeating pattern background and checkbox for hiding/showing solid color bg. (#456) 2021-08-06 15:09:42 -07:00
aborziak-ms df4131ee5d
Added effects (blur/shadow) support for shape layers. (#455) 2021-08-03 14:15:36 -07:00
aborziak-ms 7463321424
Enabled blur effect for PreComp layers (#454) 2021-07-29 20:37:29 -07:00
aborziak-ms 64bdd18e6d
Added lottie merge optimization (#453)
* Added lottie merge optimization
2021-07-23 15:02:58 -07:00
aborziak-ms 1b4e3d2a37
Added support for animated round corners modifier (#452)
* Added support for animated round corners modifier

* Fixed typo and epsilon calculation

* Typo fix [2]

* Added new issue code LT0043 + more comments in the code
2021-07-22 11:48:03 -07:00
aborziak-ms 96eeab4a95
Add support for round corners if there is no animations (#451)
* Add support for round corners if there is no animations
2021-06-25 12:50:27 -07:00
aborziak-ms d87f131703
Merge pull request #450 from windows-toolkit/user/aborziak-ms/rectangles-gradient-fill-fix
Gradient fill for rectangle(rounded rectangle) shape fixed
2021-06-14 16:48:57 -07:00
aborziak-ms 60a2c6b6f1 Fixed build issue 2021-06-14 14:25:08 -07:00
aborziak-ms 80a567ede1 Removed null-ness from fields in OriginOffsetContainer 2021-06-14 13:29:38 -07:00
aborziak-ms 0248711c9d Moved OriginOffset cleanup to TranslateAndApplyShapeContextWithTrimOffset 2021-06-14 13:23:41 -07:00
aborziak-ms 493f9ddb9f Reverted some code formatting, since it is not needed anymore 2021-06-14 11:54:28 -07:00
aborziak-ms 93ce5d0af8 Moved OriginOffset to ShapeLayerContext 2021-06-14 11:44:54 -07:00
aborziak-ms 04cd5fe11a Made some changes + comments cleanup as discussed 2021-06-14 10:56:34 -07:00
aborziak-ms e27c69f60f Fixed gradient offsets for rectangle shape 2021-06-10 16:25:00 -07:00
eliezerpMS ee3344ed48
Update version to 7.0.3 (#447) 2021-06-08 10:42:54 -07:00
aborziak-ms 9bbe7f05c4
Fixed mismatch of nullable types (#449) 2021-06-07 16:37:15 -07:00
Aaron Schultz bc0e8ae540
Fixes for MSBuild task: (#444)
- Parameter validation no longer fails on valid params
- Fixed props fle path to LottieGen dll
- Fixed path generation for LottieGen exe
- Converted parameter types which are not supported by MSBuild to acceptable types
- Added escaping to command-line args to avoid mangling file paths
2021-04-27 12:02:05 -07:00
eliezerpMS fdfcd0890e
Update version to 7.0.2 (#438) 2021-04-06 10:42:51 -07:00
eliezerpMS 9f12dd83a9
Update Lottie to use 5.0.1 of System.Text.Encodings.Web (#437) 2021-04-06 08:49:58 -07:00
Simeon 076223b8be
Fix for security issue in System.Text.Encodings.Web v4.7.1. (#434)
Error reported:
Microsoft.Toolkit.Uwp.UI.Lottie v7 uses System.Text.Encodings.Web v4.7.1 which has a high severity security vulnerability and as such doesn't pass component governance

This upgrades all of the runtime NuGet packages to the latest version.
2021-04-01 11:40:00 -07:00
Simeon 42a35f0517
Fix for #406 (#433)
When using the "-AdditionalInterface" parameter in LottieGen (which causes the generated code to declare that it implements interfaces that it otherwise doesn't know about), the interface needs to be known to the generated IDL file.
There are 2 ways that the IDL may know about the interface:
1. The interface may exist in a .winmd file that is referenced by the project.
2. The interface may be defined in the project using an IDL file.

LottieGen doesn't know which case the user requires. Previously we were assuming case 2 which causes problems if the interface is not in an IDL file.
Rather than requiring the user to tell LottieGen which case is being used, we know wrap the import in a condition that depends on the existence of the file. This should handle both cases seamlessly.
2021-03-08 14:08:25 -08:00
Simeon e7befb4423
LottieViewer UI improvements for AnimatedIcon (#426)
* Tweak the nudging factor for markers, and better UI for markers.

These changes are to improve AnimatedIcon workflow.
The nudging value of 0.01 was insufficient, so this ups it to 0.05.
The UI in LottieViewer for markers and the scrubber is confusing because it shows progress, which designers don't care about. So now it uses frames everywhere. Developers that need to convert to progress can do the math themselves (it's just (frame count) / (number of frames) plus a nudge.

* Make the arrow keys on the scrubber move by a single frame.

* LottieViewer UI now only deals in frames.

Seeing as LottieViewer is for designers, and they don't know about progress, the markers and scrubber will now only show frames information.
Also added more frame information to the Lottie properties.
Arrow keys now move by a single frame on each press.

* Fix the colors on hyperlinks and the playback rate slider.

The default colors for hyperlinks and sliders are themed, which can cause the colors to become unreadble on the gray background of the main page..
2021-03-08 10:24:27 -08:00
Simeon 7e6f416ce1
Convert to modern null checking now that it works in .NET Native. (#427)
This is mostly a find-and-replace of the == null and != null checks.
This makes the code consistent, modern, and safe from equality overloading errors.
I have not replaced them in the generated code.
I have made the C# generator output the "is not null" pattern.
2021-03-05 16:38:42 -08:00
Simeon 11c75f8865
Fix some missing simplifications in Composition expressions. (#429)
* Fix some missing simplifications in Composition expressions.

The logic for determining whether an expression could be simplified was sometimes wrong because it ended up hitting an overridden equality operator which compared the already-simplified values.

Also fixed the test script to look at last write time when determining which is the latest build of LottieGen.exe to run. We were looking at creation time, but it turns out that when the compiler builds, it doesn't cause the creation time to be updated if the output file previously existed. Our test script could accidentally use a release build when the latest build was actually a debug build, resulting in the test running on an old build.

* Replace the IsAtomic bool with a more generalized Precedence concept.

Without this, it was getting unwieldy to handle all the cases of precedence. Now we're removing parentheses more aggressively, so the expressions will be more efficient to parse.

* Eliminate some unnecessary whitespace in Min and Max expression functions.
2021-03-05 14:05:00 -08:00
Simeon 12fbb261dd
Fix inaccuracy in the UAP version info comment. (#428) 2021-03-05 11:39:04 -08:00
Simeon 2fbe421119
Show frame numbers in generated code. (#425)
This makes it much easier to figure out what is causing issues in animations.
Also remove the "readonly" on properties in the generated C# because they aren't supported by the language versions used in UWP.
2021-02-23 15:29:54 -08:00
Simeon 12769c43d3
Fixes for AnimatedIcon (#424)
* Nudge the markers forward by 1/100 of a frame to stop flashing.

Due to floating point imprecision, a marker value may refer to the previous frame, which causes flashing for AnimatedIcon.

This change is a test to see if it helps the problem. If it does, it needs a little more tweaking so that the frame numbers in the comments don't look whacky.

* Remove the decimal place from the frame number. Frame numbers from Lottie are always integer values.

* Remove accidentally added "using".

* Fix bug in visibility optimization.

This was causing some things to be visible when they were not supposed to be.
While I was there I refactored the the types that are used to calculate visibility to make the code a bit easier to understand.
2021-02-16 10:44:12 -08:00
Simeon 636de5ccfd
Show another decimal place on the LottieViewer tooltip. (#421)
Previously, you'd press the arrow keys 10 times before the tooltip value would change. That was confusing! Now the tooltip will always change in response to the arrow keys.
2021-02-10 15:29:22 -08:00
Simeon fad5d46d7d
Pin a version of Cake to work around recent Cake change that broke the build. (#420) 2021-02-10 14:39:24 -08:00
Simeon 349eb46dd0
Convert LottieGen to .NET 5 and create LottieGen.MsBuild package.
With this change, we'll produce a new nuget package that contains the LottieGen.exe executable built into a single file with no dependencies (not even .NET) and an MsBuild task.

This is being done to enable LottieGen to be more easily used in a build.
2021-02-08 11:36:30 -08:00
Simeon 78327ce562
Fix bug in the Select method for animatables - did not handle non-animated case. (#416)
Also rationalized the select methods a bit to make them simpler.
2021-01-27 15:41:44 -08:00
Simeon d20bc039be
Adjust the set of things that are built for different configurations. (#415)
We were unnecessarily building the DotLottie and Animatables project for the non-AnyCPU configurations.
This should speed up the build a little.
2021-01-27 14:09:56 -08:00
Simeon 4e15df53a4
Create a project just for the animatables. (#413)
* Create a project just for the animatables.

The animatables are types that are used by both LottieData and the upcoming
intermediate representation, so we need them to be in a separate project so
the code can be shared.

This also adds some small features to some animatables for use by IR, and
changes some IAnimatableVector3 types to IAnimatableVector2 (e.g. gradient
stops should never by vector3.

I've also removed the "property index" from animatables. That is a Lottie concept
that is only needed if you are supporting javascript expressions. We will never
support javascript expressions, so they're not needed. Removing them makes the
code a bit cleaner.
2021-01-27 13:10:48 -08:00
Aaron Schultz d163ea8a03
Expose animation metadata in generated code (#411)
Expose Lottie frame information. This is needed by some folks who are dealing with frame numbers on other platforms.
2021-01-26 10:05:19 -08:00
Simeon 0b69c0ce95
Add WinUI 2.6 animated icon support. (#412)
* Add support for WinUI 2.6 animated icon.

This also removes the ability to set a custom interface in place of the WinUI
interface, because nobody seems to need it now, and it adds a bunch of
complexity.
2021-01-25 10:43:29 -08:00