NovaSVG 0.10.0
A header-only SVG library
Loading...
Searching...
No Matches
novasvg::SVGMarkerElement Class Referencefinal

#include <svgelement.h>

Inheritance diagram for novasvg::SVGMarkerElement:
Collaboration diagram for novasvg::SVGMarkerElement:

Public Member Functions

 SVGMarkerElement (Document *document)
 
const SVGLength & refX () const
 
const SVGLength & refY () const
 
const SVGLength & markerWidth () const
 
const SVGLength & markerHeight () const
 
const SVGEnumeration< MarkerUnits > & markerUnits () const
 
const SVGAngle & orient () const
 
Point refPoint () const
 
Size markerSize () const
 
Transform markerTransform (const Point &origin, float angle, float strokeWidth) const
 
Rect markerBoundingBox (const Point &origin, float angle, float strokeWidth) const
 
void renderMarker (SVGRenderState &state, const Point &origin, float angle, float strokeWidth) const
 
Transform localTransform () const final
 
- Public Member Functions inherited from novasvg::SVGElement
 SVGElement (Document *document, ElementID id)
 
virtual ~SVGElement ()=default
 
bool hasAttribute (std::string_view name) const
 
const std::string & getAttribute (std::string_view name) const
 
bool setAttribute (std::string_view name, const std::string &value)
 
const Attribute * findAttribute (PropertyID id) const
 
bool hasAttribute (PropertyID id) const
 
const std::string & getAttribute (PropertyID id) const
 
bool setAttribute (int specificity, PropertyID id, const std::string &value)
 
void setAttributes (const AttributeList &attributes)
 
bool setAttribute (const Attribute &attribute)
 
virtual void parseAttribute (PropertyID id, const std::string &value)
 
SVGElement * previousElement () const
 
SVGElement * nextElement () const
 
SVGNode * addChild (std::unique_ptr< SVGNode > child)
 
SVGNode * firstChild () const
 
SVGNode * lastChild () const
 
ElementID id () const
 
const AttributeList & attributes () const
 
const SVGPropertyList & properties () const
 
const SVGNodeList & children () const
 
virtual Rect fillBoundingBox () const
 
virtual Rect strokeBoundingBox () const
 
virtual Rect paintBoundingBox () const
 
SVGMarkerElement * getMarker (std::string_view id) const
 
SVGClipPathElement * getClipper (std::string_view id) const
 
SVGMaskElement * getMasker (std::string_view id) const
 
SVGFilterElement * getFilterElement (std::string_view id) const
 
SVGPaintElement * getPainter (std::string_view id) const
 
SVGElement * elementFromPoint (float x, float y)
 
template<typename T >
void transverse (T callback)
 
void addProperty (SVGProperty &value)
 
SVGProperty * getProperty (PropertyID id) const
 
Size currentViewportSize () const
 
float font_size () const
 
void cloneChildren (SVGElement *parentElement) const
 
std::unique_ptr< SVGNode > clone (bool deep) const final
 
virtual void build ()
 
virtual void layoutElement (const SVGLayoutState &state)
 
void layoutChildren (SVGLayoutState &state)
 
virtual void layout (SVGLayoutState &state)
 
void renderChildren (SVGRenderState &state) const
 
virtual void render (SVGRenderState &state) const
 
virtual std::shared_ptr< Canvas > applyFilterPrimitive (SVGFilterContext &context) const
 
bool isDisplayNone () const
 
bool isOverflowHidden () const
 
bool isVisibilityHidden () const
 
bool isHiddenElement () const
 
bool isPointableElement () const
 
const SVGClipPathElement * clipper () const
 
const SVGMaskElement * masker () const
 
const SVGFilterElement * filterElement () const
 
float opacity () const
 
MixBlendMode mixBlendMode () const
 
bool isElement () const final
 
- Public Member Functions inherited from novasvg::SVGNode
 SVGNode (Document *document)
 
virtual ~SVGNode ()=default
 
virtual bool isTextNode () const
 
virtual bool isPaintElement () const
 
virtual bool isGraphicsElement () const
 
virtual bool isGeometryElement () const
 
virtual bool isTextPositioningElement () const
 
Document * document () const
 
SVGRootElement * rootElement () const
 
SVGElement * parentElement () const
 
void setParentElement (SVGElement *parent)
 
bool isRootElement () const
 
- Public Member Functions inherited from novasvg::SVGFitToViewBox
 SVGFitToViewBox (SVGElement *element)
 
const SVGRect & viewBox () const
 
const SVGPreserveAspectRatio & preserveAspectRatio () const
 
Transform viewBoxToViewTransform (const Size &viewportSize) const
 
Rect getClipRect (const Size &viewportSize) const
 

Additional Inherited Members

- Static Public Member Functions inherited from novasvg::SVGElement
static std::unique_ptr< SVGElement > create (Document *document, ElementID id)
 

Detailed Description

Definition at line 1274 of file svgelement.h.

Constructor & Destructor Documentation

◆ SVGMarkerElement()

NOVASVG_INLINE novasvg::SVGMarkerElement::SVGMarkerElement ( Document *  document)

Definition at line 7204 of file svgelement.h.

References novasvg::SVGElement::addProperty().

Member Function Documentation

◆ localTransform()

NOVASVG_INLINE Transform novasvg::SVGMarkerElement::localTransform ( ) const
finalvirtual

Reimplemented from novasvg::SVGElement.

Definition at line 7279 of file svgelement.h.

References markerSize(), and novasvg::SVGFitToViewBox::viewBoxToViewTransform().

◆ markerBoundingBox()

NOVASVG_INLINE Rect novasvg::SVGMarkerElement::markerBoundingBox ( const Point &  origin,
float  angle,
float  strokeWidth 
) const

◆ markerHeight()

const SVGLength & novasvg::SVGMarkerElement::markerHeight ( ) const
inline

Definition at line 1281 of file svgelement.h.

◆ markerSize()

NOVASVG_INLINE Size novasvg::SVGMarkerElement::markerSize ( ) const

◆ markerTransform()

◆ markerUnits()

const SVGEnumeration< MarkerUnits > & novasvg::SVGMarkerElement::markerUnits ( ) const
inline

Definition at line 1282 of file svgelement.h.

◆ markerWidth()

const SVGLength & novasvg::SVGMarkerElement::markerWidth ( ) const
inline

Definition at line 1280 of file svgelement.h.

◆ orient()

const SVGAngle & novasvg::SVGMarkerElement::orient ( ) const
inline

Definition at line 1283 of file svgelement.h.

◆ refPoint()

NOVASVG_INLINE Point novasvg::SVGMarkerElement::refPoint ( ) const

Definition at line 7222 of file svgelement.h.

References refPoint(), and novasvg::LengthContext::valueForLength().

Referenced by markerTransform(), and refPoint().

◆ refX()

const SVGLength & novasvg::SVGMarkerElement::refX ( ) const
inline

Definition at line 1278 of file svgelement.h.

◆ refY()

const SVGLength & novasvg::SVGMarkerElement::refY ( ) const
inline

Definition at line 1279 of file svgelement.h.

◆ renderMarker()


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