std::optional< Boxd > viewBox () const
Get the parsed value of the viewBox attribute, if specified, which defines a rectangle in userspace that should be mapped to the SVG viewport bounds established by the pattern.
PreserveAspectRatio preserveAspectRatio () const
The value of the preserveAspectRatio attribute, which defines how to scale the viewport to fit the content.
Lengthd x () const
Get the value of the x attribute, which defines the top-left X coordinate of the rectangle indicating how pattern tiles are placed and spread.
Lengthd y () const
Get the value of the y attribute, which defines the top-left Y coordinate of the rectangle indicating how pattern tiles are placed and spread.
std::optional< Lengthd > width () const
Get the value of the width attribute, if specified, which defines the width of the rectangle indicating how pattern tiles are placed and spread.
std::optional< Lengthd > height () const
Get the value of the height attribute, if specified, which defines the height of the rectangle indicating how pattern tiles are placed and spread.
PatternUnits patternUnits () const
Get the value of the patternUnits attribute, which defines the coordinate system for attributes x , y , width , and height .
PatternContentUnits patternContentUnits () const
Get the value of the patternContentUnits attribute, which defines the coordinate system for the contents of the pattern.
Transformd patternTransform () const
Get the value of the patternTransform attribute, which is an optional transformation from the pattern coordinate system onto the target coordinate system, allowing transformations such as skewing the pattern tiles.
std::optional< RcString > href () const
Get the value of the href attribute, if specified, which is a reference to another pattern element to use as a template.
void setViewBox (OptionalRef < Boxd > viewBox )
Set the viewBox attribute, which defines a rectangle in userspace that should be mapped to the SVG viewport bounds established by the pattern.
void setPreserveAspectRatio (PreserveAspectRatio preserveAspectRatio )
Set the preserveAspectRatio attribute, which defines how to scale the viewport to fit the content.
void setX (Lengthd value)
Set the x attribute, which defines the top-left X coordinate of the rectangle indicating how pattern tiles are placed and spread.
void setY (Lengthd value)
Set the y attribute, which defines the top-left Y coordinate of the rectangle indicating how pattern tiles are placed and spread.
void setWidth (OptionalRef < Lengthd > value)
Set the width attribute, which defines the width of the rectangle indicating how pattern tiles are placed and spread.
void setHeight (OptionalRef < Lengthd > value)
Set the height attribute, which defines the height of the rectangle indicating how pattern tiles are placed and spread.
void setPatternUnits (PatternUnits value)
Set the patternUnits attribute, which defines the coordinate system for attributes x , y , width , and height .
void setPatternContentUnits (PatternContentUnits value)
Set the patternContentUnits attribute, which defines the coordinate system for the contents of the pattern.
void setPatternTransform (Transformd transform)
Set the patternTransform attribute, which is an optional transformation from the pattern coordinate system onto the target coordinate system.
void setHref (OptionalRef < RcStringOrRef > value)
Set the href attribute, which is a reference to another pattern element to use as a template.
SVGElement (const SVGElement &other)
Create another reference to the same SVGElement .
SVGElement (SVGElement &&other) noexcept
Move constructor.
~SVGElement () noexcept=default
Destructor.
SVGElement & operator= (const SVGElement &other)
Create another reference to the same SVGElement .
SVGElement & operator= (SVGElement &&other) noexcept
Move assignment operator.
ElementType type () const
Get the ElementType for known XML element types.
xml::XMLQualifiedNameRef tagName () const
Get the XML tag name string for this element.
bool isKnownType () const
Returns true if this is a known element type, returns false if this is an SVGUnknownElement .
EntityHandle entityHandle () const
Get the underlying EntityHandle , for advanced use-cases that require direct access to the ECS.
RcString id () const
Get the element id, the value of the "id" attribute.
void setId (std::string_view id )
Set the element id, the value of the "id" attribute.
RcString className () const
Get the element class name, the value of the "class" attribute.
void setClassName (std::string_view name)
Set the element class name, the value of the "class" attribute.
void setStyle (std::string_view style)
Set the element style, the value of the "style" attribute.
void updateStyle (std::string_view style)
Update the element style, adding new attributes or overridding existing ones (without removing them).
ParseResult < bool > trySetPresentationAttribute (std::string_view name, std::string_view value)
Set the value of a presentation attribute, such as "fill" or "stroke".
bool hasAttribute (const xml::XMLQualifiedNameRef &name) const
Returns true if the element has an attribute with the given name.
std::optional< RcString > getAttribute (const xml::XMLQualifiedNameRef &name) const
Get the value of an attribute, if it exists.
SmallVector < xml::XMLQualifiedNameRef , 1 > findMatchingAttributes (const xml::XMLQualifiedNameRef &matcher) const
Find attributes matching the given name matcher.
void setAttribute (const xml::XMLQualifiedNameRef &name, std::string_view value)
Set the value of a generic XML attribute, which may be either a presentation attribute or custom user-provided attribute.
void removeAttribute (const xml::XMLQualifiedNameRef &name)
Remove an attribute, which may be either a presentation attribute or custom user-provided attribute.
SVGDocument ownerDocument ()
Get an owning reference to the SVGDocument containing this element.
std::optional< SVGElement > parentElement () const
Get this element's parent, if it exists.
std::optional< SVGElement > firstChild () const
Get the first child of this element, if it exists.
std::optional< SVGElement > lastChild () const
Get the last child of this element, if it exists.
std::optional< SVGElement > previousSibling () const
Get the previous sibling of this element, if it exists.
std::optional< SVGElement > nextSibling () const
Get the next sibling of this element, if it exists.
void insertBefore (const SVGElement &newNode, std::optional< SVGElement > referenceNode)
Insert newNode as a child, before referenceNode.
void appendChild (const SVGElement &child)
Append child as a child of the current node.
void replaceChild (const SVGElement &newChild, const SVGElement &oldChild)
Replace oldChild with newChild in the tree, removing oldChild and inserting newChild in its place.
void removeChild (const SVGElement &child)
Remove child from this node.
void remove ()
Remove this node from its parent, if it has one.
bool operator== (const SVGElement &other) const
Returns true if the two SVGElement handles reference the same underlying document.
bool operator!= (const SVGElement &other) const
Returns true if the two SVGElement handles reference the same underlying document.
template<typename Derived>
bool isa () const
Return true if this element "is a" instance of type, if it be cast to a specific type with cast .
template<typename Derived>
Derived cast ()
Cast this element to its derived type.
template<typename Derived>
Derived cast () const
Cast this element to its derived type (const version).
template<typename Derived>
std::optional< Derived > tryCast ()
Cast this element to its derived type, if possible.
template<typename Derived>
std::optional< const Derived > tryCast () const
Cast this element to its derived type, if possible.
std::optional< SVGElement > querySelector (std::string_view selector)
Find the first element in the tree that matches the given CSS selector.
const PropertyRegistry & getComputedStyle () const
Get the computed CSS style of this element, after the CSS cascade.
DOM object for a "<pattern>" element.
<pattern id ="MyPattern" viewBox ="0,0,10,10" width ="15%" height ="15%" >
<circle cx ="5" cy ="5" r ="5" fill ="red" />
</pattern >
To reference it with a fill:
<rect fill ="url(#MyPattern)" width ="300" height ="300" />
Attribute Default Description
viewBox (none) A list of four numbers (min-x, min-y, width, height) separated by whitespace and/or a comma, that specify a rectangle in userspace that should be mapped to the SVG viewport bounds established by the pattern.
preserveAspectRatio xMidYMid meet How to scale the viewport to fit the content. Only applies is viewBox is specified.
x 0 Defines the top-left X coordinate of a rectangle indicating how pattern tiles are placed and spread. The coordinate system is determined by the combination of the patternUnits and patternTransform attributes.
y 0 Defines the top-left Y coordinate of a rectangle indicating how pattern tiles are placed and spread. The coordinate system is determined by the combination of the patternUnits and patternTransform attributes.
width 0 Defines the width of a rectangle indicating how pattern tiles are placed and spread. The coordinate system is determined by the combination of the patternUnits and patternTransform attributes.
height 0 Defines the height of a rectangle indicating how pattern tiles are placed and spread. The coordinate system is determined by the combination of the patternUnits and patternTransform attributes.
patternUnits objectBoundingBox Defines the coordinate system for attributes x , y , width , and height .
patternContentUnits userSpaceOnUse Defines the coordinate system for the contents of the pattern. Note that this attribute has no effect if the viewBox attribute is specified.
patternTransform identity Optional transformation from the pattern coordinate system onto the target coordinate system, allowing things like skewing the pattern tiles.
href (none) Reference to another pattern element to use as a template.