LibreOffice Module svgio (master) 1
|
#include <svggradientnode.hxx>
Public Member Functions | |
SvgGradientNode (SVGToken aType, SvgDocument &rDocument, SvgNode *pParent) | |
virtual | ~SvgGradientNode () override |
virtual const SvgStyleAttributes * | getSvgStyleAttributes () const override |
virtual void | parseAttribute (const OUString &rTokenName, SVGToken aSVGToken, const OUString &aContent) override |
void | collectGradientEntries (drawinglayer::primitive2d::SvgGradientEntryVector &aVector) const |
collect gradient stop entries More... | |
SvgNumber | getX1 () const |
x1 content More... | |
SvgNumber | getY1 () const |
y1 content More... | |
SvgNumber | getX2 () const |
x2 content More... | |
SvgNumber | getY2 () const |
y2 content More... | |
SvgNumber | getCx () const |
Cx content. More... | |
SvgNumber | getCy () const |
Cy content. More... | |
SvgNumber | getR () const |
R content. More... | |
const SvgNumber * | getFx () const |
Fx content. More... | |
const SvgNumber * | getFy () const |
Fy content. More... | |
SvgUnits | getGradientUnits () const |
gradientUnits content More... | |
void | setGradientUnits (const SvgUnits aGradientUnits) |
drawinglayer::primitive2d::SpreadMethod | getSpreadMethod () const |
SpreadMethod content. More... | |
void | setSpreadMethod (const drawinglayer::primitive2d::SpreadMethod aSpreadMethod) |
std::optional< basegfx::B2DHomMatrix > | getGradientTransform () const |
transform content, set if found in current context More... | |
void | setGradientTransform (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 | |
SvgStyleAttributes | maSvgStyleAttributes |
use styles More... | |
SvgNumber | maX1 |
linear gradient values More... | |
SvgNumber | maY1 |
SvgNumber | maX2 |
SvgNumber | maY2 |
SvgNumber | maCx |
radial gradient values More... | |
SvgNumber | maCy |
SvgNumber | maR |
SvgNumber | maFx |
SvgNumber | maFy |
SvgUnits | maGradientUnits |
variable scan values, dependent of given XAttributeList More... | |
drawinglayer::primitive2d::SpreadMethod | maSpreadMethod |
std::optional< basegfx::B2DHomMatrix > | mpaGradientTransform |
bool | mbResolvingLink |
link to another gradient used as style. More... | |
OUString | maXLink |
const SvgGradientNode * | 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 svggradientnode.hxx.
svgio::svgreader::SvgGradientNode::SvgGradientNode | ( | SVGToken | aType, |
SvgDocument & | rDocument, | ||
SvgNode * | pParent | ||
) |
Definition at line 36 of file svggradientnode.cxx.
References svgio::svgreader::LinearGradient, svgio::svgreader::objectBoundingBox, Pad, and svgio::svgreader::RadialGradient.
|
overridevirtual |
Definition at line 50 of file svggradientnode.cxx.
void svgio::svgreader::SvgGradientNode::collectGradientEntries | ( | drawinglayer::primitive2d::SvgGradientEntryVector & | aVector | ) | const |
collect gradient stop entries
Definition at line 227 of file svggradientnode.cxx.
References a, collectGradientEntries(), svgio::svgreader::SvgNode::getChildren(), svgio::svgreader::SvgNumber::getNumber(), svgio::svgreader::SvgGradientStopNode::getOffset(), svgio::svgreader::SvgStyleAttributes::getStopColor(), svgio::svgreader::SvgStyleAttributes::getStopOpacity(), svgio::svgreader::SvgGradientStopNode::getSvgStyleAttributes(), svgio::svgreader::SvgNumber::getUnit(), mbResolvingLink, mpXLink, nCount, svgio::svgreader::percent, size, svgio::svgreader::SvgNumber::solve(), and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), collectGradientEntries(), and svgio::svgreader::SvgDrawVisitor::visit().
SvgNumber svgio::svgreader::SvgGradientNode::getCx | ( | ) | const |
Cx content.
Definition at line 376 of file svggradientnode.cxx.
References getCx(), svgio::svgreader::SvgNumber::isSet(), maCx, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), and getCx().
SvgNumber svgio::svgreader::SvgGradientNode::getCy | ( | ) | const |
Cy content.
Definition at line 397 of file svggradientnode.cxx.
References getCy(), svgio::svgreader::SvgNumber::isSet(), maCy, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), and getCy().
const SvgNumber * svgio::svgreader::SvgGradientNode::getFx | ( | ) | const |
Fx content.
Definition at line 439 of file svggradientnode.cxx.
References getFx(), svgio::svgreader::SvgNumber::isSet(), maFx, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), and getFx().
const SvgNumber * svgio::svgreader::SvgGradientNode::getFy | ( | ) | const |
Fy content.
Definition at line 459 of file svggradientnode.cxx.
References getFy(), svgio::svgreader::SvgNumber::isSet(), maFy, mbResolvingLink, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), and getFy().
std::optional< basegfx::B2DHomMatrix > svgio::svgreader::SvgGradientNode::getGradientTransform | ( | ) | const |
transform content, set if found in current context
Definition at line 479 of file svggradientnode.cxx.
References getGradientTransform(), mbResolvingLink, mpaGradientTransform, mpXLink, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), getGradientTransform(), and svgio::svgreader::SvgDrawVisitor::visit().
|
inline |
gradientUnits content
Definition at line 104 of file svggradientnode.hxx.
References maGradientUnits.
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient().
SvgNumber svgio::svgreader::SvgGradientNode::getR | ( | ) | const |
R content.
Definition at line 418 of file svggradientnode.cxx.
References getR(), svgio::svgreader::SvgNumber::isSet(), maR, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), and getR().
|
inline |
SpreadMethod content.
Definition at line 108 of file svggradientnode.hxx.
References maSpreadMethod.
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient().
|
overridevirtual |
Reimplemented from svgio::svgreader::SvgNode.
Definition at line 55 of file svggradientnode.cxx.
References svgio::svgreader::SvgNode::checkForCssStyle(), and maSvgStyleAttributes.
Referenced by svgio::svgreader::SvgDrawVisitor::visit().
SvgNumber svgio::svgreader::SvgGradientNode::getX1 | ( | ) | const |
x1 content
Definition at line 292 of file svggradientnode.cxx.
References getX1(), svgio::svgreader::SvgNumber::isSet(), maX1, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), getX1(), and svgio::svgreader::SvgDrawVisitor::visit().
SvgNumber svgio::svgreader::SvgGradientNode::getX2 | ( | ) | const |
x2 content
Definition at line 334 of file svggradientnode.cxx.
References getX2(), svgio::svgreader::SvgNumber::isSet(), maX2, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), getX2(), and svgio::svgreader::SvgDrawVisitor::visit().
SvgNumber svgio::svgreader::SvgGradientNode::getY1 | ( | ) | const |
y1 content
Definition at line 313 of file svggradientnode.cxx.
References getY1(), svgio::svgreader::SvgNumber::isSet(), maY1, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), getY1(), and svgio::svgreader::SvgDrawVisitor::visit().
SvgNumber svgio::svgreader::SvgGradientNode::getY2 | ( | ) | const |
y2 content
Definition at line 355 of file svggradientnode.cxx.
References getY2(), svgio::svgreader::SvgNumber::isSet(), maY2, mbResolvingLink, mpXLink, svgio::svgreader::percent, and tryToFindLink().
Referenced by svgio::svgreader::SvgStyleAttributes::add_fillGradient(), getY2(), and svgio::svgreader::SvgDrawVisitor::visit().
|
overridevirtual |
Reimplemented from svgio::svgreader::SvgNode.
Definition at line 60 of file svggradientnode.cxx.
References svgio::svgreader::commonStrings::aStrObjectBoundingBox, svgio::svgreader::commonStrings::aStrUserSpaceOnUse, svgio::svgreader::Cx, svgio::svgreader::Cy, o3tl::equalsIgnoreAsciiCase(), svgio::svgreader::Fx, svgio::svgreader::Fy, svgio::svgreader::GradientTransform, svgio::svgreader::GradientUnits, svgio::svgreader::Href, basegfx::B2DHomMatrix::isIdentity(), svgio::svgreader::SvgNumber::isPositive(), maCx, maCy, maFx, maFy, maR, maSvgStyleAttributes, maX1, maX2, maXLink, maY1, maY2, svgio::svgreader::objectBoundingBox, drawinglayer::primitive2d::Pad, svgio::svgreader::SvgNode::parseAttribute(), svgio::svgreader::SvgStyleAttributes::parseStyleAttribute(), svgio::svgreader::R, svgio::svgreader::SvgNode::readLocalCssStyle(), svgio::svgreader::readLocalLink(), svgio::svgreader::readSingleNumber(), svgio::svgreader::readTransform(), drawinglayer::primitive2d::Reflect, drawinglayer::primitive2d::Repeat, setGradientTransform(), setGradientUnits(), setSpreadMethod(), svgio::svgreader::SpreadMethod, svgio::svgreader::Style, o3tl::trim(), tryToFindLink(), u, svgio::svgreader::userSpaceOnUse, svgio::svgreader::X1, svgio::svgreader::X2, svgio::svgreader::XlinkHref, svgio::svgreader::Y1, and svgio::svgreader::Y2.
|
inline |
Definition at line 113 of file svggradientnode.hxx.
References mpaGradientTransform.
Referenced by parseAttribute().
|
inline |
Definition at line 105 of file svggradientnode.hxx.
References maGradientUnits.
Referenced by parseAttribute().
|
inline |
Definition at line 109 of file svggradientnode.hxx.
References maSpreadMethod.
Referenced by parseAttribute().
|
private |
link on demand
Definition at line 28 of file svggradientnode.cxx.
References svgio::svgreader::SvgDocument::findSvgNodeById(), svgio::svgreader::SvgNode::getDocument(), maXLink, and mpXLink.
Referenced by collectGradientEntries(), getCx(), getCy(), getFx(), getFy(), getGradientTransform(), getR(), getX1(), getX2(), getY1(), getY2(), and parseAttribute().
|
private |
radial gradient values
Definition at line 42 of file svggradientnode.hxx.
Referenced by getCx(), and parseAttribute().
|
private |
Definition at line 43 of file svggradientnode.hxx.
Referenced by getCy(), and parseAttribute().
|
private |
Definition at line 45 of file svggradientnode.hxx.
Referenced by getFx(), and parseAttribute().
|
private |
Definition at line 46 of file svggradientnode.hxx.
Referenced by getFy(), and parseAttribute().
|
private |
variable scan values, dependent of given XAttributeList
Definition at line 49 of file svggradientnode.hxx.
Referenced by getGradientUnits(), and setGradientUnits().
|
private |
Definition at line 44 of file svggradientnode.hxx.
Referenced by getR(), and parseAttribute().
|
private |
Definition at line 50 of file svggradientnode.hxx.
Referenced by getSpreadMethod(), and setSpreadMethod().
|
private |
use styles
Definition at line 33 of file svggradientnode.hxx.
Referenced by getSvgStyleAttributes(), and parseAttribute().
|
private |
linear gradient values
Definition at line 36 of file svggradientnode.hxx.
Referenced by getX1(), and parseAttribute().
|
private |
Definition at line 38 of file svggradientnode.hxx.
Referenced by getX2(), and parseAttribute().
|
private |
Definition at line 57 of file svggradientnode.hxx.
Referenced by parseAttribute(), and tryToFindLink().
|
private |
Definition at line 37 of file svggradientnode.hxx.
Referenced by getY1(), and parseAttribute().
|
private |
Definition at line 39 of file svggradientnode.hxx.
Referenced by getY2(), and parseAttribute().
|
mutableprivate |
link to another gradient used as style.
If maXLink is set, the node can be fetched on demand by using
Definition at line 56 of file svggradientnode.hxx.
Referenced by collectGradientEntries(), getCx(), getCy(), getFx(), getFy(), getGradientTransform(), getR(), getX1(), getX2(), getY1(), and getY2().
|
private |
Definition at line 51 of file svggradientnode.hxx.
Referenced by getGradientTransform(), and setGradientTransform().
|
private |
Definition at line 58 of file svggradientnode.hxx.
Referenced by collectGradientEntries(), getCx(), getCy(), getFx(), getFy(), getGradientTransform(), getR(), getX1(), getX2(), getY1(), getY2(), and tryToFindLink().