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


Public Member Functions | |
| SVGGeometryElement (Document *document, ElementID id) | |
| bool | isGeometryElement () const final |
| Rect | fillBoundingBox () const override |
| Rect | strokeBoundingBox () const override |
| void | layoutElement (const SVGLayoutState &state) override |
| bool | isRenderable () const |
| FillRule | fill_rule () const |
| FillRule | clip_rule () const |
| virtual Rect | updateShape (Path &path)=0 |
| void | updateMarkerPositions (SVGMarkerPositionList &positions, const SVGLayoutState &state) |
| void | render (SVGRenderState &state) const override |
| const Path & | path () const |
Public Member Functions inherited from novasvg::SVGGraphicsElement | |
| SVGGraphicsElement (Document *document, ElementID id) | |
| bool | isGraphicsElement () const final |
| const SVGTransform & | transform () const |
| Transform | localTransform () const override |
| SVGPaintServer | getPaintServer (const Paint &paint, float opacity) const |
| StrokeData | getStrokeData (const SVGLayoutState &state) const |
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 | 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 () |
| void | layoutChildren (SVGLayoutState &state) |
| virtual void | layout (SVGLayoutState &state) |
| void | renderChildren (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 | isTextPositioningElement () const |
| Document * | document () const |
| SVGRootElement * | rootElement () const |
| SVGElement * | parentElement () const |
| void | setParentElement (SVGElement *parent) |
| bool | isRootElement () 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 1927 of file svgelement.h.
| NOVASVG_INLINE novasvg::SVGGeometryElement::SVGGeometryElement | ( | Document * | document, |
| ElementID | id | ||
| ) |
Definition at line 3547 of file svgelement.h.
|
inline |
Definition at line 1940 of file svgelement.h.
|
inline |
Definition at line 1939 of file svgelement.h.
|
inlineoverridevirtual |
Reimplemented from novasvg::SVGElement.
Definition at line 1933 of file svgelement.h.
Referenced by strokeBoundingBox().
|
inlinefinalvirtual |
Reimplemented from novasvg::SVGNode.
Definition at line 1931 of file svgelement.h.
|
inline |
Definition at line 1937 of file svgelement.h.
Referenced by render().
|
overridevirtual |
Reimplemented from novasvg::SVGElement.
Definition at line 3572 of file svgelement.h.
References novasvg::SVGGraphicsElement::getPaintServer(), novasvg::SVGGraphicsElement::getStrokeData(), novasvg::SVGElement::layoutElement(), novasvg::Path::reset(), novasvg::render::state::stroke, updateMarkerPositions(), and updateShape().
|
inline |
Definition at line 1947 of file svgelement.h.
|
overridevirtual |
Reimplemented from novasvg::SVGElement.
Definition at line 3669 of file svgelement.h.
References novasvg::SVGPaintServer::applyPaint(), novasvg::SVGRenderState::beginGroup(), novasvg::Clipping, novasvg::SVGRenderState::currentTransform(), novasvg::SVGRenderState::endGroup(), isRenderable(), novasvg::SVGGraphicsElement::localTransform(), novasvg::SVGRenderState::mode(), and novasvg::Color::White.
|
overridevirtual |
Reimplemented from novasvg::SVGElement.
Definition at line 3552 of file svgelement.h.
References fillBoundingBox(), novasvg::Rect::inflate(), novasvg::SVGPaintServer::isRenderable(), novasvg::Miter, NOVASVG_MAX, NOVASVG_SQRT2, novasvg::Square, strokeBoundingBox(), and novasvg::Rect::unite().
Referenced by strokeBoundingBox().
| NOVASVG_INLINE void novasvg::SVGGeometryElement::updateMarkerPositions | ( | SVGMarkerPositionList & | positions, |
| const SVGLayoutState & | state | ||
| ) |
Definition at line 3587 of file svgelement.h.
References novasvg::SVGAngle::AutoStartReverse, novasvg::Close, novasvg::CubicTo, novasvg::PathIterator::currentSegment(), novasvg::SVGElement::getMarker(), novasvg::PathIterator::isDone(), novasvg::Path::isEmpty(), novasvg::LineTo, novasvg::MoveTo, novasvg::PathIterator::next(), and NOVASVG_PI.
Referenced by layoutElement().
Implemented in novasvg::SVGLineElement, novasvg::SVGRectElement, novasvg::SVGEllipseElement, novasvg::SVGCircleElement, novasvg::SVGPolyElement, and novasvg::SVGPathElement.
Referenced by layoutElement().