LibreOffice Module svgio (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
svgio::svgreader::SvgCharacterNode Class Referencefinal

#include <svgcharacternode.hxx>

Inheritance diagram for svgio::svgreader::SvgCharacterNode:
[legend]
Collaboration diagram for svgio::svgreader::SvgCharacterNode:
[legend]

Public Member Functions

 SvgCharacterNode (SvgDocument &rDocument, SvgNode *pParent, OUString aText)
 
virtual ~SvgCharacterNode () override
 
virtual const SvgStyleAttributesgetSvgStyleAttributes () const override
 
void decomposeText (drawinglayer::primitive2d::Primitive2DContainer &rTarget, SvgTextPosition &rSvgTextPosition) const
 
void whiteSpaceHandling ()
 
void addGap ()
 
void concatenate (std::u16string_view rText)
 
const OUString & getText () const
 Text content. More...
 
const OUString & getTextBeforeSpaceHandling () const
 
- Public Member Functions inherited from svgio::svgreader::SvgNode
 SvgNode (SVGToken aType, SvgDocument &rDocument, SvgNode *pParent)
 
virtual ~SvgNode () override
 
 SvgNode (const SvgNode &)=delete
 
SvgNodeoperator= (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 SvgStyleAttributesgetSvgStyleAttributes () 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 SvgDocumentgetDocument () const
 
const SvgNodegetParent () 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

rtl::Reference< drawinglayer::primitive2d::BasePrimitive2DcreateSimpleTextPrimitive (SvgTextPosition &rSvgTextPosition, const SvgStyleAttributes &rSvgStyleAttributes) const
 local helpers More...
 
void decomposeTextWithStyle (drawinglayer::primitive2d::Primitive2DContainer &rTarget, SvgTextPosition &rSvgTextPosition, const SvgStyleAttributes &rSvgStyleAttributes) const
 

Private Attributes

OUString maText
 the string data More...
 
OUString maTextBeforeSpaceHandling
 

Additional Inherited Members

- Protected Member Functions inherited from svgio::svgreader::SvgNode
const SvgStyleAttributescheckForCssStyle (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)
 

Detailed Description

Definition at line 119 of file svgcharacternode.hxx.

Constructor & Destructor Documentation

◆ SvgCharacterNode()

svgio::svgreader::SvgCharacterNode::SvgCharacterNode ( SvgDocument rDocument,
SvgNode pParent,
OUString  aText 
)

Definition at line 186 of file svgcharacternode.cxx.

References Character, and maText.

◆ ~SvgCharacterNode()

svgio::svgreader::SvgCharacterNode::~SvgCharacterNode ( )
overridevirtual

Definition at line 195 of file svgcharacternode.cxx.

Member Function Documentation

◆ addGap()

void svgio::svgreader::SvgCharacterNode::addGap ( )

Definition at line 566 of file svgcharacternode.cxx.

References maText.

◆ concatenate()

void svgio::svgreader::SvgCharacterNode::concatenate ( std::u16string_view  rText)

Definition at line 571 of file svgcharacternode.cxx.

References maText.

Referenced by svgio::svgreader::SvgDocHdl::characters().

◆ createSimpleTextPrimitive()

rtl::Reference< BasePrimitive2D > svgio::svgreader::SvgCharacterNode::createSimpleTextPrimitive ( SvgTextPosition rSvgTextPosition,
const SvgStyleAttributes rSvgStyleAttributes 
) const
private

local helpers

Definition at line 212 of file svgcharacternode.cxx.

References a, svgio::svgreader::center, COL_TRANSPARENT(), svgio::svgreader::end, basegfx::fTools::equal(), svgio::svgreader::SvgTextPosition::getAbsoluteX(), svgio::svgreader::SvgStyleAttributes::getBaselineShift(), svgio::svgreader::SvgStyleAttributes::getBaselineShiftNumber(), svgio::svgreader::SvgStyleAttributes::getFill(), svgio::svgreader::SvgStyleAttributes::getFillOpacity(), svgio::svgreader::SvgStyleAttributes::getFontFamily(), svgio::svgreader::SvgStyleAttributes::getFontSizeNumber(), svgio::svgreader::SvgStyleAttributes::getFontStyle(), svgio::svgreader::SvgStyleAttributes::getFontWeight(), getLength(), svgio::svgreader::SvgTextPosition::getLengthAdjust(), svgio::svgreader::SvgNumber::getNumber(), drawinglayer::primitive2d::TextLayouterDevice::getOverlineOffset(), svgio::svgreader::SvgTextPosition::getParent(), svgio::svgreader::SvgTextPosition::getPosition(), getText(), svgio::svgreader::SvgStyleAttributes::getTextAlign(), svgio::svgreader::SvgStyleAttributes::getTextAnchor(), drawinglayer::primitive2d::TextLayouterDevice::getTextArray(), svgio::svgreader::SvgStyleAttributes::getTextDecoration(), svgio::svgreader::SvgStyleAttributes::getTextDecorationDefiningSvgStyleAttributes(), svgio::svgreader::SvgTextPosition::getTextLength(), drawinglayer::primitive2d::TextLayouterDevice::getTextWidth(), drawinglayer::primitive2d::TextLayouterDevice::getUnderlineOffset(), svgio::svgreader::getVclFontWeight(), basegfx::Tuple2D< typename TYPE >::getX(), svgio::svgreader::SvgTextPosition::getX(), basegfx::Tuple2D< typename TYPE >::getY(), svgio::svgreader::SvgNumber::isSet(), svgio::svgreader::italic, svgio::svgreader::justify, svgio::svgreader::left, svgio::svgreader::Length, svgio::svgreader::line_through, svgio::svgreader::middle, nIndex, nLength, svgio::svgreader::notset, svgio::svgreader::oblique, svgio::svgreader::overline, svgio::svgreader::Percentage, svgio::svgreader::right, basegfx::B2DHomMatrix::scale(), drawinglayer::primitive2d::TextLayouterDevice::setFontAttribute(), svgio::svgreader::SvgTextPosition::setPosition(), basegfx::Tuple2D< typename TYPE >::setX(), basegfx::Tuple2D< typename TYPE >::setY(), svgio::svgreader::SvgNumber::solve(), svgio::svgreader::start, svgio::svgreader::Sub, svgio::svgreader::Super, TEXT_FONT_EMPHASIS_MARK_NONE, TEXT_LINE_NONE, TEXT_LINE_SINGLE, TEXT_RELIEF_NONE, TEXT_STRIKEOUT_NONE, TEXT_STRIKEOUT_SINGLE, basegfx::B2DHomMatrix::translate(), and svgio::svgreader::underline.

Referenced by decomposeTextWithStyle().

◆ decomposeText()

void svgio::svgreader::SvgCharacterNode::decomposeText ( drawinglayer::primitive2d::Primitive2DContainer rTarget,
SvgTextPosition rSvgTextPosition 
) const

◆ decomposeTextWithStyle()

void svgio::svgreader::SvgCharacterNode::decomposeTextWithStyle ( drawinglayer::primitive2d::Primitive2DContainer rTarget,
SvgTextPosition rSvgTextPosition,
const SvgStyleAttributes rSvgStyleAttributes 
) const
private

◆ getSvgStyleAttributes()

const SvgStyleAttributes * svgio::svgreader::SvgCharacterNode::getSvgStyleAttributes ( ) const
overridevirtual

◆ getText()

const OUString & svgio::svgreader::SvgCharacterNode::getText ( ) const
inline

Text content.

Definition at line 151 of file svgcharacternode.hxx.

References maText.

Referenced by createSimpleTextPrimitive(), and decomposeText().

◆ getTextBeforeSpaceHandling()

const OUString & svgio::svgreader::SvgCharacterNode::getTextBeforeSpaceHandling ( ) const
inline

Definition at line 153 of file svgcharacternode.hxx.

References maTextBeforeSpaceHandling.

◆ whiteSpaceHandling()

void svgio::svgreader::SvgCharacterNode::whiteSpaceHandling ( )

Member Data Documentation

◆ maText

OUString svgio::svgreader::SvgCharacterNode::maText
private

the string data

Definition at line 123 of file svgcharacternode.hxx.

Referenced by addGap(), concatenate(), getText(), and whiteSpaceHandling().

◆ maTextBeforeSpaceHandling

OUString svgio::svgreader::SvgCharacterNode::maTextBeforeSpaceHandling
private

Definition at line 126 of file svgcharacternode.hxx.

Referenced by getTextBeforeSpaceHandling(), and whiteSpaceHandling().


The documentation for this class was generated from the following files: