LibreOffice Module svgio (master) 1
|
#include <svgpatternnode.hxx>
Public Member Functions | |
SvgPatternNode (SvgDocument &rDocument, SvgNode *pParent) | |
virtual | ~SvgPatternNode () override |
virtual const SvgStyleAttributes * | getSvgStyleAttributes () const override |
virtual void | parseAttribute (const OUString &rTokenName, SVGToken aSVGToken, const OUString &aContent) override |
void | getValuesRelative (double &rfX, double &rfY, double &rfW, double &rfH, const basegfx::B2DRange &rGeoRange, SvgNode const &rUser) const |
global helpers More... | |
const drawinglayer::primitive2d::Primitive2DContainer & | getPatternPrimitives () const |
get pattern primitives buffered, uses decomposeSvgNode internally More... | |
virtual basegfx::B2DRange | getCurrentViewPort () const override |
InfoProvider support for % values. More... | |
const basegfx::B2DRange * | getViewBox () const |
viewBox content More... | |
void | setViewBox (const basegfx::B2DRange *pViewBox) |
const SvgAspectRatio & | getSvgAspectRatio () const |
SvgAspectRatio content. More... | |
const SvgNumber & | getX () const |
X content, set if found in current context. More... | |
const SvgNumber & | getY () const |
Y content, set if found in current context. More... | |
const SvgNumber & | getWidth () const |
Width content, set if found in current context. More... | |
const SvgNumber & | getHeight () const |
Height content, set if found in current context. More... | |
const SvgUnits * | getPatternUnits () const |
PatternUnits content. More... | |
void | setPatternUnits (const SvgUnits aPatternUnits) |
const SvgUnits * | getPatternContentUnits () const |
PatternContentUnits content. More... | |
void | setPatternContentUnits (const SvgUnits aPatternContentUnits) |
std::optional< basegfx::B2DHomMatrix > | getPatternTransform () const |
PatternTransform content. More... | |
void | setPatternTransform (const std::optional< basegfx::B2DHomMatrix > &pMatrix) |
Public Member Functions inherited from svgio::svgreader::SvgNode | |
SvgNode (SVGToken aType, SvgDocument &rDocument, SvgNode *pParent) | |
virtual | ~SvgNode () override |
SvgNode (const SvgNode &)=delete | |
SvgNode & | operator= (const SvgNode &)=delete |
void | accept (Visitor &rVisitor) |
void | readLocalCssStyle (std::u16string_view aContent) |
scan helper to read and interpret a local CssStyle to mpLocalCssStyle More... | |
void | parseAttributes (const css::uno::Reference< css::xml::sax::XAttributeList > &xAttribs) |
style helpers More... | |
virtual const SvgStyleAttributes * | getSvgStyleAttributes () const |
virtual void | parseAttribute (const OUString &rTokenName, SVGToken aSVGToken, const OUString &aContent) |
virtual void | decomposeSvgNode (drawinglayer::primitive2d::Primitive2DContainer &rTarget, bool bReferenced) const |
virtual bool | supportsParentStyle () const |
#i125258# tell if this node is allowed to have a parent style (e.g. defs do not) More... | |
SVGToken | getType () const |
basic data read access More... | |
const SvgDocument & | getDocument () const |
const SvgNode * | getParent () const |
const std::vector< std::unique_ptr< SvgNode > > & | getChildren () const |
virtual basegfx::B2DRange | getCurrentViewPort () const override |
InfoProvider support for %, em and ex values. More... | |
virtual double | getCurrentFontSizeInherited () const override |
return font size of node inherited from parents More... | |
virtual double | getCurrentXHeightInherited () const override |
return xheight of node inherited from parents More... | |
double | getCurrentFontSize () const |
double | getCurrentXHeight () const |
std::optional< OUString > const & | getId () const |
Id access. More... | |
void | setId (OUString const &) |
std::optional< OUString > const & | getClass () const |
Class access. More... | |
void | setClass (OUString const &) |
XmlSpace | getXmlSpace () const |
XmlSpace access. More... | |
void | setXmlSpace (XmlSpace eXmlSpace) |
Display | getDisplay () const |
Display access #i121656#. More... | |
void | setDisplay (Display eDisplay) |
void | setAlternativeParent (const SvgNode *pAlternativeParent=nullptr) |
alternative parent More... | |
bool | hasLocalCssStyle () |
Check if there is a local css style. More... | |
Public Member Functions inherited from svgio::svgreader::InfoProvider | |
virtual | ~InfoProvider () |
virtual basegfx::B2DRange | getCurrentViewPort () const =0 |
virtual double | getCurrentFontSizeInherited () const =0 |
return font size of node inherited from parents More... | |
virtual double | getCurrentXHeightInherited () const =0 |
return xheight of node inherited from parents More... | |
Private Member Functions | |
void | tryToFindLink () |
link on demand More... | |
Private Attributes | |
drawinglayer::primitive2d::Primitive2DContainer | aPrimitives |
buffered decomposition More... | |
SvgStyleAttributes | maSvgStyleAttributes |
use styles More... | |
std::unique_ptr< basegfx::B2DRange > | mpViewBox |
variable scan values, dependent of given XAttributeList More... | |
SvgAspectRatio | maSvgAspectRatio |
SvgNumber | maX |
SvgNumber | maY |
SvgNumber | maWidth |
SvgNumber | maHeight |
std::optional< SvgUnits > | moPatternUnits |
std::optional< SvgUnits > | moPatternContentUnits |
std::optional< basegfx::B2DHomMatrix > | mpaPatternTransform |
bool | mbResolvingLink |
link to another pattern used as style. More... | |
OUString | maXLink |
const SvgPatternNode * | mpXLink |
Additional Inherited Members | |
Protected Member Functions inherited from svgio::svgreader::SvgNode | |
const SvgStyleAttributes * | checkForCssStyle (const SvgStyleAttributes &rOriginal) const |
helper to evtl. link to css style More... | |
void | fillCssStyleVector (const SvgStyleAttributes &rOriginal) |
helper for filling the CssStyle vector once dependent on mbCssStyleVectorBuilt More... | |
void | addCssStyle (const SvgDocument &rDocument, const OUString &aConcatenated) |
void | fillCssStyleVectorUsingHierarchyAndSelectors (const SvgNode &rCurrent, const OUString &aConcatenated) |
void | fillCssStyleVectorUsingParent (const SvgNode &rCurrent) |
Definition at line 29 of file svgpatternnode.hxx.
svgio::svgreader::SvgPatternNode::SvgPatternNode | ( | SvgDocument & | rDocument, |
SvgNode * | pParent | ||
) |
Definition at line 34 of file svgpatternnode.cxx.
References Pattern.
|
overridevirtual |
Definition at line 44 of file svgpatternnode.cxx.
|
overridevirtual |
InfoProvider support for % values.
Reimplemented from svgio::svgreader::SvgNode.
Definition at line 271 of file svgpatternnode.cxx.
References svgio::svgreader::SvgNode::getCurrentViewPort(), and getViewBox().
const SvgNumber & svgio::svgreader::SvgPatternNode::getHeight | ( | ) | const |
Height content, set if found in current context.
Definition at line 383 of file svgpatternnode.cxx.
References getHeight(), svgio::svgreader::SvgNumber::isSet(), maHeight, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by getHeight(), and getValuesRelative().
const SvgUnits * svgio::svgreader::SvgPatternNode::getPatternContentUnits | ( | ) | const |
PatternContentUnits content.
Definition at line 423 of file svgpatternnode.cxx.
References getPatternContentUnits(), mbResolvingLink, moPatternContentUnits, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPattern(), and getPatternContentUnits().
const drawinglayer::primitive2d::Primitive2DContainer & svgio::svgreader::SvgPatternNode::getPatternPrimitives | ( | ) | const |
get pattern primitives buffered, uses decomposeSvgNode internally
Definition at line 248 of file svgpatternnode.cxx.
References aPrimitives, svgio::svgreader::SvgNode::decomposeSvgNode(), svgio::svgreader::SvgNode::getDisplay(), getPatternPrimitives(), maXLink, mbResolvingLink, mpXLink, svgio::svgreader::None, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPattern(), and getPatternPrimitives().
std::optional< basegfx::B2DHomMatrix > svgio::svgreader::SvgPatternNode::getPatternTransform | ( | ) | const |
PatternTransform content.
Definition at line 443 of file svgpatternnode.cxx.
References getPatternTransform(), mbResolvingLink, mpaPatternTransform, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPatternTransform(), and getPatternTransform().
const SvgUnits * svgio::svgreader::SvgPatternNode::getPatternUnits | ( | ) | const |
PatternUnits content.
Definition at line 403 of file svgpatternnode.cxx.
References getPatternUnits(), mbResolvingLink, moPatternUnits, mpXLink, and tryToFindLink().
Referenced by getPatternUnits(), and getValuesRelative().
const SvgAspectRatio & svgio::svgreader::SvgPatternNode::getSvgAspectRatio | ( | ) | const |
SvgAspectRatio content.
Definition at line 303 of file svgpatternnode.cxx.
References getSvgAspectRatio(), svgio::svgreader::SvgAspectRatio::isSet(), maSvgAspectRatio, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPattern(), and getSvgAspectRatio().
|
overridevirtual |
Reimplemented from svgio::svgreader::SvgNode.
Definition at line 48 of file svgpatternnode.cxx.
References svgio::svgreader::SvgNode::checkForCssStyle(), and maSvgStyleAttributes.
void svgio::svgreader::SvgPatternNode::getValuesRelative | ( | double & | rfX, |
double & | rfY, | ||
double & | rfW, | ||
double & | rfH, | ||
const basegfx::B2DRange & | rGeoRange, | ||
SvgNode const & | rUser | ||
) | const |
global helpers
Definition at line 184 of file svgpatternnode.cxx.
References basegfx::Range2D< typename TYPE, typename TRAITS >::getHeight(), getHeight(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), svgio::svgreader::SvgNumber::getNumber(), getPatternUnits(), svgio::svgreader::SvgNumber::getUnit(), basegfx::Range2D< typename TYPE, typename TRAITS >::getWidth(), getWidth(), getX(), getY(), svgio::svgreader::SvgNumber::isSet(), svgio::svgreader::objectBoundingBox, svgio::svgreader::percent, svgio::svgreader::SvgNumber::solve(), svgio::svgreader::xcoordinate, and svgio::svgreader::ycoordinate.
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPattern().
const basegfx::B2DRange * svgio::svgreader::SvgPatternNode::getViewBox | ( | ) | const |
viewBox content
Definition at line 283 of file svgpatternnode.cxx.
References getViewBox(), mbResolvingLink, mpViewBox, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillPattern(), getCurrentViewPort(), and getViewBox().
const SvgNumber & svgio::svgreader::SvgPatternNode::getWidth | ( | ) | const |
Width content, set if found in current context.
Definition at line 363 of file svgpatternnode.cxx.
References getWidth(), svgio::svgreader::SvgNumber::isSet(), maWidth, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by getValuesRelative(), and getWidth().
const SvgNumber & svgio::svgreader::SvgPatternNode::getX | ( | ) | const |
X content, set if found in current context.
Definition at line 323 of file svgpatternnode.cxx.
References getX(), svgio::svgreader::SvgNumber::isSet(), maX, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by getValuesRelative(), and getX().
const SvgNumber & svgio::svgreader::SvgPatternNode::getY | ( | ) | const |
Y content, set if found in current context.
Definition at line 343 of file svgpatternnode.cxx.
References getY(), svgio::svgreader::SvgNumber::isSet(), maY, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by getValuesRelative(), and getY().
|
overridevirtual |
Reimplemented from svgio::svgreader::SvgNode.
Definition at line 53 of file svgpatternnode.cxx.
References svgio::svgreader::commonStrings::aStrObjectBoundingBox, svgio::svgreader::commonStrings::aStrUserSpaceOnUse, o3tl::equalsIgnoreAsciiCase(), svgio::svgreader::Height, svgio::svgreader::Href, basegfx::Range2D< typename TYPE, typename TRAITS >::isEmpty(), basegfx::B2DHomMatrix::isIdentity(), svgio::svgreader::SvgNumber::isPositive(), maHeight, maSvgAspectRatio, maSvgStyleAttributes, maWidth, maX, maXLink, maY, svgio::svgreader::objectBoundingBox, svgio::svgreader::SvgNode::parseAttribute(), svgio::svgreader::SvgStyleAttributes::parseStyleAttribute(), svgio::svgreader::PatternContentUnits, svgio::svgreader::PatternTransform, svgio::svgreader::PatternUnits, svgio::svgreader::PreserveAspectRatio, svgio::svgreader::SvgNode::readLocalCssStyle(), svgio::svgreader::readLocalLink(), svgio::svgreader::readSingleNumber(), svgio::svgreader::readSvgAspectRatio(), svgio::svgreader::readTransform(), svgio::svgreader::readViewBox(), setPatternContentUnits(), setPatternTransform(), setPatternUnits(), setViewBox(), svgio::svgreader::Style, o3tl::trim(), tryToFindLink(), svgio::svgreader::userSpaceOnUse, svgio::svgreader::ViewBox, svgio::svgreader::Width, svgio::svgreader::X, svgio::svgreader::XlinkHref, and svgio::svgreader::Y.
|
inline |
Definition at line 106 of file svgpatternnode.hxx.
References moPatternContentUnits.
Referenced by parseAttribute().
|
inline |
Definition at line 110 of file svgpatternnode.hxx.
References mpaPatternTransform.
Referenced by parseAttribute().
|
inline |
Definition at line 102 of file svgpatternnode.hxx.
References moPatternUnits.
Referenced by parseAttribute().
|
inline |
Definition at line 83 of file svgpatternnode.hxx.
References mpViewBox.
Referenced by parseAttribute().
|
private |
link on demand
Definition at line 26 of file svgpatternnode.cxx.
References svgio::svgreader::SvgDocument::findSvgNodeById(), svgio::svgreader::SvgNode::getDocument(), maXLink, and mpXLink.
Referenced by getHeight(), getPatternContentUnits(), getPatternPrimitives(), getPatternTransform(), getPatternUnits(), getSvgAspectRatio(), getViewBox(), getWidth(), getX(), getY(), and parseAttribute().
|
private |
buffered decomposition
Definition at line 33 of file svgpatternnode.hxx.
Referenced by getPatternPrimitives().
|
private |
Definition at line 45 of file svgpatternnode.hxx.
Referenced by getHeight(), and parseAttribute().
|
private |
Definition at line 41 of file svgpatternnode.hxx.
Referenced by getSvgAspectRatio(), and parseAttribute().
|
private |
use styles
Definition at line 36 of file svgpatternnode.hxx.
Referenced by getSvgStyleAttributes(), and parseAttribute().
|
private |
Definition at line 44 of file svgpatternnode.hxx.
Referenced by getWidth(), and parseAttribute().
|
private |
Definition at line 42 of file svgpatternnode.hxx.
Referenced by getX(), and parseAttribute().
|
private |
Definition at line 57 of file svgpatternnode.hxx.
Referenced by getPatternPrimitives(), parseAttribute(), and tryToFindLink().
|
private |
Definition at line 43 of file svgpatternnode.hxx.
Referenced by getY(), and parseAttribute().
|
mutableprivate |
link to another pattern used as style.
If maXLink is set, the node can be fetched on demand by using
Definition at line 56 of file svgpatternnode.hxx.
Referenced by getHeight(), getPatternContentUnits(), getPatternPrimitives(), getPatternTransform(), getPatternUnits(), getSvgAspectRatio(), getViewBox(), getWidth(), getX(), and getY().
|
private |
Definition at line 49 of file svgpatternnode.hxx.
Referenced by getPatternContentUnits(), and setPatternContentUnits().
|
private |
Definition at line 47 of file svgpatternnode.hxx.
Referenced by getPatternUnits(), and setPatternUnits().
|
private |
Definition at line 51 of file svgpatternnode.hxx.
Referenced by getPatternTransform(), and setPatternTransform().
|
private |
variable scan values, dependent of given XAttributeList
Definition at line 40 of file svgpatternnode.hxx.
Referenced by getViewBox(), and setViewBox().
|
private |
Definition at line 58 of file svgpatternnode.hxx.
Referenced by getHeight(), getPatternContentUnits(), getPatternPrimitives(), getPatternTransform(), getPatternUnits(), getSvgAspectRatio(), getViewBox(), getWidth(), getX(), getY(), and tryToFindLink().