LibreOffice Module svgio (master) 1
|
#include <svgdocument.hxx>
Public Member Functions | |
SvgDocument (OUString aAbsolutePath) | |
~SvgDocument () | |
SvgDocument (const SvgDocument &)=delete | |
SvgDocument & | operator= (const SvgDocument &)=delete |
void | appendNode (std::unique_ptr< SvgNode > pNode) |
append another root node, ownership changes More... | |
void | addSvgNodeToMapper (const OUString &rStr, const SvgNode &rNode) |
add/remove nodes with Id to mapper More... | |
void | removeSvgNodeFromMapper (const OUString &rStr) |
const SvgNode * | findSvgNodeById (const OUString &rStr) const |
find a node by its Id More... | |
void | addSvgStyleAttributesToMapper (const OUString &rStr, const SvgStyleAttributes &rSvgStyleAttributes) |
add/remove styles to mapper More... | |
bool | hasGlobalCssStyleAttributes () const |
find a style by its Id More... | |
const SvgStyleAttributes * | findGlobalCssStyleAttributes (const OUString &rStr) const |
const SvgNodeVector & | getSvgNodeVector () const |
data read access More... | |
const OUString & | getAbsolutePath () const |
void | addOrphanNode (SvgNode *pOrphan) |
invalid nodes that have no parent More... | |
Private Types | |
typedef std::unordered_map< OUString, const SvgNode * > | IdTokenMapper |
hash mapper to find nodes by their id More... | |
typedef std::unordered_map< OUString, const SvgStyleAttributes * > | IdStyleTokenMapper |
hash mapper to find css styles by their id More... | |
Private Attributes | |
SvgNodeVector | maNodes |
the document hierarchy with all root nodes More... | |
SvgNodeVector | maOrphanNodes |
invalid nodes that have no parent More... | |
const OUString | maAbsolutePath |
the absolute path of the Svg file in progress (if available) More... | |
IdTokenMapper | maIdTokenMapperList |
IdStyleTokenMapper | maIdStyleTokenMapperList |
Definition at line 31 of file svgdocument.hxx.
|
private |
hash mapper to find css styles by their id
Definition at line 48 of file svgdocument.hxx.
|
private |
hash mapper to find nodes by their id
Definition at line 44 of file svgdocument.hxx.
|
explicit |
Definition at line 25 of file svgdocument.cxx.
svgio::svgreader::SvgDocument::~SvgDocument | ( | ) |
Definition at line 30 of file svgdocument.cxx.
|
delete |
|
inline |
invalid nodes that have no parent
Definition at line 80 of file svgdocument.hxx.
References maOrphanNodes.
Referenced by svgio::svgreader::SvgNode::SvgNode().
void svgio::svgreader::SvgDocument::addSvgNodeToMapper | ( | const OUString & | rStr, |
const SvgNode & | rNode | ||
) |
add/remove nodes with Id to mapper
Definition at line 40 of file svgdocument.cxx.
References maIdTokenMapperList.
Referenced by svgio::svgreader::SvgNode::setClass(), and svgio::svgreader::SvgNode::setId().
void svgio::svgreader::SvgDocument::addSvgStyleAttributesToMapper | ( | const OUString & | rStr, |
const SvgStyleAttributes & | rSvgStyleAttributes | ||
) |
add/remove styles to mapper
Definition at line 70 of file svgdocument.cxx.
References maIdStyleTokenMapperList.
void svgio::svgreader::SvgDocument::appendNode | ( | std::unique_ptr< SvgNode > | pNode | ) |
append another root node, ownership changes
Definition at line 34 of file svgdocument.cxx.
References maNodes.
Referenced by svgio::svgreader::SvgDocHdl::endElement().
const SvgStyleAttributes * svgio::svgreader::SvgDocument::findGlobalCssStyleAttributes | ( | const OUString & | rStr | ) | const |
Definition at line 78 of file svgdocument.cxx.
References maIdStyleTokenMapperList.
Referenced by svgio::svgreader::SvgNode::addCssStyle(), and svgio::svgreader::SvgNode::fillCssStyleVector().
const SvgNode * svgio::svgreader::SvgDocument::findSvgNodeById | ( | const OUString & | rStr | ) | const |
find a node by its Id
Definition at line 56 of file svgdocument.cxx.
References maIdTokenMapperList.
Referenced by svgio::svgreader::SvgStyleAttributes::accessClipPathXLink(), svgio::svgreader::SvgStyleAttributes::accessFilterXLink(), svgio::svgreader::SvgStyleAttributes::accessMarkerEndXLink(), svgio::svgreader::SvgStyleAttributes::accessMarkerMidXLink(), svgio::svgreader::SvgStyleAttributes::accessMarkerStartXLink(), svgio::svgreader::SvgStyleAttributes::accessMaskXLink(), svgio::svgreader::SvgTextPathNode::decomposePathNode(), svgio::svgreader::SvgImageNode::decomposeSvgNode(), svgio::svgreader::SvgUseNode::decomposeSvgNode(), svgio::svgreader::SvgTrefNode::getReferencedSvgTextNode(), svgio::svgreader::SvgStyleAttributes::getSvgGradientNodeFill(), svgio::svgreader::SvgStyleAttributes::getSvgGradientNodeStroke(), svgio::svgreader::SvgStyleAttributes::getSvgPatternNodeFill(), svgio::svgreader::SvgStyleAttributes::getSvgPatternNodeStroke(), svgio::svgreader::SvgStyleAttributes::getVisibility(), svgio::svgreader::SvgTextPathNode::isValid(), svgio::svgreader::SvgGradientNode::tryToFindLink(), and svgio::svgreader::SvgPatternNode::tryToFindLink().
|
inline |
Definition at line 77 of file svgdocument.hxx.
References maAbsolutePath.
Referenced by svgio::svgreader::SvgFeImageNode::apply(), svgio::svgreader::SvgNode::decomposeSvgNode(), and svgio::svgreader::SvgImageNode::decomposeSvgNode().
|
inline |
data read access
Definition at line 76 of file svgdocument.hxx.
References maNodes.
Referenced by svgio::svgreader::SvgDocHdl::~SvgDocHdl().
|
inline |
find a style by its Id
Definition at line 72 of file svgdocument.hxx.
References maIdStyleTokenMapperList.
Referenced by svgio::svgreader::SvgNode::fillCssStyleVectorUsingHierarchyAndSelectors(), and svgio::svgreader::SvgNode::fillCssStyleVectorUsingParent().
|
delete |
void svgio::svgreader::SvgDocument::removeSvgNodeFromMapper | ( | const OUString & | rStr | ) |
Definition at line 48 of file svgdocument.cxx.
References maIdTokenMapperList.
Referenced by svgio::svgreader::SvgNode::setClass(), and svgio::svgreader::SvgNode::setId().
|
private |
the absolute path of the Svg file in progress (if available)
Definition at line 41 of file svgdocument.hxx.
Referenced by getAbsolutePath().
|
private |
Definition at line 49 of file svgdocument.hxx.
Referenced by addSvgStyleAttributesToMapper(), findGlobalCssStyleAttributes(), and hasGlobalCssStyleAttributes().
|
private |
Definition at line 45 of file svgdocument.hxx.
Referenced by addSvgNodeToMapper(), findSvgNodeById(), and removeSvgNodeFromMapper().
|
private |
the document hierarchy with all root nodes
Definition at line 35 of file svgdocument.hxx.
Referenced by appendNode(), and getSvgNodeVector().
|
private |
invalid nodes that have no parent
Definition at line 38 of file svgdocument.hxx.
Referenced by addOrphanNode().