diff options
author | Florin Malita <fmalita@chromium.org> | 2018-08-27 15:28:04 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-08-27 20:01:59 +0000 |
commit | a225a6b6313c262e0b512f073bcb517d51424dc3 (patch) | |
tree | fad6cbfda96d2bb83fbb8bbc0c7de6073229d6bb /modules | |
parent | c349f18ee824c7fadc9b09f8cc57d957284736a2 (diff) | |
download | skqp-a225a6b6313c262e0b512f073bcb517d51424dc3.tar.gz |
[skottie] Fix precomp time remapping vs time start/stretch interaction
In the presence of time remapping, time start/stretch values appear to
be ignored.
TBR=
Change-Id: I6a4dcc107f2d0fc6361f91ba4f4643e33da37d93
Reviewed-on: https://skia-review.googlesource.com/149701
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/skottie/src/SkottiePrecompLayer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/skottie/src/SkottiePrecompLayer.cpp b/modules/skottie/src/SkottiePrecompLayer.cpp index 8fc4167d81..01dafd980d 100644 --- a/modules/skottie/src/SkottiePrecompLayer.cpp +++ b/modules/skottie/src/SkottiePrecompLayer.cpp @@ -21,8 +21,9 @@ namespace internal { sk_sp<sksg::RenderNode> AnimationBuilder::attachPrecompLayer(const skjson::ObjectValue& jlayer, AnimatorScope* ascope) const { const skjson::ObjectValue* time_remap = jlayer["tm"]; - const auto start_time = ParseDefault<float>(jlayer["st"], 0.0f), - stretch_time = ParseDefault<float>(jlayer["sr"], 1.0f); + // Empirically, a time mapper supersedes start/stretch. + const auto start_time = time_remap ? 0.0f : ParseDefault<float>(jlayer["st"], 0.0f), + stretch_time = time_remap ? 1.0f : ParseDefault<float>(jlayer["sr"], 1.0f); const auto requires_time_mapping = !SkScalarNearlyEqual(start_time , 0) || !SkScalarNearlyEqual(stretch_time, 1) || time_remap; |