From 713840eb42807ef96bdd12af9da1b1c969a4fd07 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Thu, 26 Dec 2024 18:01:37 +0900 Subject: [PATCH] lottie: Fixed a regression in masking logic The scene tree should be arranged prior to appending the masking. This was caused by 838785d75a79f0dbdb12273b4406b3f650855bbf --- src/loaders/lottie/tvgLottieBuilder.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index f5543ae7..8ef254aa 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -1224,6 +1224,13 @@ void LottieBuilder::updateMaskings(LottieLayer* layer, float frameNo) { if (layer->masks.count == 0) return; + //Introduce an intermediate scene for embracing the matte + masking + if (layer->matteTarget) { + auto scene = Scene::gen(); + scene->push(layer->scene); + layer->scene = scene; + } + Shape* pShape = nullptr; MaskMethod pMethod; uint8_t pOpacity; @@ -1277,13 +1284,6 @@ void LottieBuilder::updateMaskings(LottieLayer* layer, float frameNo) pOpacity = opacity; pMethod = method; } - - //Introduce an intermediate scene for embracing the matte + masking - if (layer->matteTarget) { - auto scene = Scene::gen(); - scene->push(layer->scene); - layer->scene = scene; - } }