Coverage Report

Created: 2026-10-14 09:33

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/svgio/source/svgreader/svgfemergenode.cxx
Line
Count
Source
1
/*
2
 * This file is part of the LibreOffice project.
3
 *
4
 * This Source Code Form is subject to the terms of the Mozilla Public
5
 * License, v. 2.0. If a copy of the MPL was not distributed with this
6
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
 *
8
 * This file incorporates work covered by the following license notice:
9
 *
10
 *   Licensed to the Apache Software Foundation (ASF) under one or more
11
 *   contributor license agreements. See the NOTICE file distributed
12
 *   with this work for additional information regarding copyright
13
 *   ownership. The ASF licenses this file to you under the Apache
14
 *   License, Version 2.0 (the "License"); you may not use this file
15
 *   except in compliance with the License. You may obtain a copy of
16
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
17
 */
18
19
#include <svgfemergenode.hxx>
20
#include <o3tl/string_view.hxx>
21
22
namespace svgio::svgreader
23
{
24
SvgFeMergeNode::SvgFeMergeNode(SVGToken aType, SvgDocument& rDocument, SvgNode* pParent)
25
0
    : SvgFilterNode(aType, rDocument, pParent)
26
0
{
27
0
}
28
29
0
SvgFeMergeNode::~SvgFeMergeNode() {}
30
31
void SvgFeMergeNode::parseAttribute(SVGToken aSVGToken, const OUString& aContent)
32
0
{
33
    // parse own
34
0
    switch (aSVGToken)
35
0
    {
36
0
        case SVGToken::Style:
37
0
        {
38
0
            readLocalCssStyle(aContent);
39
0
            break;
40
0
        }
41
0
        case SVGToken::Result:
42
0
        {
43
0
            maResult = aContent.trim();
44
0
            break;
45
0
        }
46
0
        default:
47
0
        {
48
0
            break;
49
0
        }
50
0
    }
51
0
}
52
53
void SvgFeMergeNode::apply(drawinglayer::primitive2d::Primitive2DContainer& rTarget,
54
                           const SvgFilterNode* pParent) const
55
0
{
56
0
    const auto& rChildren = getChildren();
57
0
    const sal_uInt32 nCount(rChildren.size());
58
59
    // apply children's filters
60
0
    for (sal_uInt32 a(0); a < nCount; a++)
61
0
    {
62
0
        SvgFeMergeNode* pFeMergeNode = dynamic_cast<SvgFeMergeNode*>(rChildren[a].get());
63
0
        if (pFeMergeNode)
64
0
        {
65
0
            pFeMergeNode->apply(rTarget, pParent);
66
0
        }
67
0
    }
68
69
0
    pParent->addGraphicSourceToMapper(maResult, rTarget);
70
0
}
71
72
} // end of namespace svgio::svgreader
73
74
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */