|
NovaSVG 0.10.0
A header-only SVG library
|
#include <svgelement.h>


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) |
Definition at line 1274 of file svgelement.h.
| NOVASVG_INLINE novasvg::SVGMarkerElement::SVGMarkerElement | ( | Document * | document | ) |
Definition at line 7204 of file svgelement.h.
References novasvg::SVGElement::addProperty().
|
finalvirtual |
Reimplemented from novasvg::SVGElement.
Definition at line 7279 of file svgelement.h.
References markerSize(), and novasvg::SVGFitToViewBox::viewBoxToViewTransform().
| NOVASVG_INLINE Rect novasvg::SVGMarkerElement::markerBoundingBox | ( | const Point & | origin, |
| float | angle, | ||
| float | strokeWidth | ||
| ) | const |
Definition at line 7261 of file svgelement.h.
References novasvg::Transform::mapRect(), markerTransform(), and novasvg::SVGElement::paintBoundingBox().
Referenced by novasvg::SVGMarkerPosition::markerBoundingBox().
|
inline |
Definition at line 1281 of file svgelement.h.
| NOVASVG_INLINE Size novasvg::SVGMarkerElement::markerSize | ( | ) | const |
Definition at line 7233 of file svgelement.h.
References markerSize(), and novasvg::LengthContext::valueForLength().
Referenced by localTransform(), markerSize(), markerTransform(), and renderMarker().
| NOVASVG_INLINE Transform novasvg::SVGMarkerElement::markerTransform | ( | const Point & | origin, |
| float | angle, | ||
| float | strokeWidth | ||
| ) | const |
Definition at line 7244 of file svgelement.h.
References novasvg::SVGAngle::Angle, markerSize(), novasvg::SVGAngle::orientType(), refPoint(), novasvg::StrokeWidth, novasvg::Transform::translated(), novasvg::SVGEnumeration< Enum >::value(), novasvg::SVGAngle::value(), novasvg::SVGFitToViewBox::viewBoxToViewTransform(), novasvg::Point::x, and novasvg::Point::y.
Referenced by markerBoundingBox(), and renderMarker().
|
inline |
Definition at line 1282 of file svgelement.h.
|
inline |
Definition at line 1280 of file svgelement.h.
|
inline |
Definition at line 1283 of file svgelement.h.
| 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().
|
inline |
Definition at line 1278 of file svgelement.h.
|
inline |
Definition at line 1279 of file svgelement.h.
| NOVASVG_INLINE void novasvg::SVGMarkerElement::renderMarker | ( | SVGRenderState & | state, |
| const Point & | origin, | ||
| float | angle, | ||
| float | strokeWidth | ||
| ) | const |
Definition at line 7266 of file svgelement.h.
References novasvg::SVGRenderState::beginGroup(), novasvg::SVGRenderState::currentTransform(), novasvg::SVGRenderState::endGroup(), novasvg::SVGFitToViewBox::getClipRect(), novasvg::SVGElement::isOverflowHidden(), markerSize(), markerTransform(), novasvg::NonZero, and novasvg::SVGElement::renderChildren().
Referenced by novasvg::SVGMarkerPosition::renderMarker().