From b7b8c2424ce9adab9654a68c83586883e8f61d48 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Wed, 31 Aug 2022 18:07:40 +0900 Subject: [PATCH] svg_loader: No skip luma mask when composition node is image Improved to skip Luma Mask when conditions are the same as AlphaMask for optimization in e409bb29. If the composition node is an image, it is not skipped because it is not known for sure whether to skip it. --- src/loaders/svg/tvgSvgSceneBuilder.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/loaders/svg/tvgSvgSceneBuilder.cpp b/src/loaders/svg/tvgSvgSceneBuilder.cpp index a8984739..ae0e498d 100644 --- a/src/loaders/svg/tvgSvgSceneBuilder.cpp +++ b/src/loaders/svg/tvgSvgSceneBuilder.cpp @@ -659,7 +659,10 @@ static unique_ptr _sceneBuildHelper(const SvgNode* node, const Box& vBox, scene->push(_sceneBuildHelper(*child, vBox, svgPath, false, isMaskWhite)); } else if ((*child)->type == SvgNodeType::Image) { auto image = _imageBuildHelper(*child, vBox, svgPath); - if (image) scene->push(move(image)); + if (image) { + scene->push(move(image)); + if (isMaskWhite) *isMaskWhite = false; + } } else if ((*child)->type != SvgNodeType::Mask) { auto shape = _shapeBuildHelper(*child, vBox, svgPath); if (shape) {