mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-14 12:04:29 +00:00
loader/svg: Fix maskContentUnits userSpaceOnUse/objectBoundingBox
Fixes #1694
This commit is contained in:
parent
12f2f2db44
commit
1112dc91dc
1 changed files with 6 additions and 2 deletions
|
@ -284,8 +284,12 @@ static void _applyComposition(SvgLoaderData& loaderData, Paint* paint, const Svg
|
||||||
|
|
||||||
bool isMaskWhite = true;
|
bool isMaskWhite = true;
|
||||||
if (auto comp = _sceneBuildHelper(loaderData, compNode, vBox, svgPath, true, 0, &isMaskWhite)) {
|
if (auto comp = _sceneBuildHelper(loaderData, compNode, vBox, svgPath, true, 0, &isMaskWhite)) {
|
||||||
Matrix finalTransform = _compositionTransform(paint, node, compNode, SvgNodeType::Mask);
|
if (!compNode->node.mask.userSpace) {
|
||||||
comp->transform(finalTransform);
|
Matrix finalTransform = _compositionTransform(paint, node, compNode, SvgNodeType::Mask);
|
||||||
|
comp->transform(finalTransform);
|
||||||
|
} else {
|
||||||
|
if (node->transform) comp->transform(*node->transform);
|
||||||
|
}
|
||||||
|
|
||||||
if (compNode->node.mask.type == SvgMaskType::Luminance && !isMaskWhite) {
|
if (compNode->node.mask.type == SvgMaskType::Luminance && !isMaskWhite) {
|
||||||
paint->composite(std::move(comp), CompositeMethod::LumaMask);
|
paint->composite(std::move(comp), CompositeMethod::LumaMask);
|
||||||
|
|
Loading…
Add table
Reference in a new issue