SVG for C++
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
SVG::Text Class Reference

#include <svg.hpp>

Inherits SVG::Element.

Public Member Functions

ElementKind kind () const override
 
 Text (double x, double y, std::string _content)
 
 Text (std::pair< double, double > xy, std::string _content)
 
BoundingBox get_bbox () const override
 
 Element ()=default
 
 Element (const Element &other)
 
 Element (Element &&other) noexcept
 
 Element (const char *id)
 
- Public Member Functions inherited from SVG::Element
 Element (const Element &other)
 
 Element (Element &&other) noexcept
 
Elementoperator= (const Element &)=delete
 
Elementoperator= (Element &&other) noexcept
 
 Element (const char *id)
 
 operator std::string () const
 
std::unique_ptr< Elementclone_element () const
 
template<typename T , typename... Args>
T * add_child (Args &&... args)
 
template<typename T >
Elementoperator<< (T &&node)
 
template<typename T >
std::vector< T * > get_children ()
 
template<typename T >
std::vector< const T * > get_children () const
 
template<typename T >
std::vector< T * > get_immediate_children ()
 
template<typename T >
std::vector< const T * > get_immediate_children () const
 
Elementget_element_by_id (const std::string &id)
 
const Elementget_element_by_id (const std::string &id) const
 
std::vector< Element * > get_elements_by_class (const std::string &clsname)
 
std::vector< const Element * > get_elements_by_class (const std::string &clsname) const
 
const Elementparent () const
 
Elementid (const std::string &value)
 
std::string id () const
 
void autoscale (const Margins &margins=DEFAULT_MARGINS)
 
void autoscale (const double margin)
 
void autoscale (const AutoscaleOptions &options)
 
void responsive_autoscale (const Margins &margins=DEFAULT_MARGINS)
 
void responsive_autoscale (const double margin)
 
void responsive_autoscale (const AutoscaleOptions &options)
 
Elementlayout_bbox (const BoundingBox &bbox)
 
Elementbbox_padding (const Margins &padding)
 
Elementbbox_padding (double padding)
 
Elementclear_layout_bbox ()
 
bool has_layout_bbox () const
 
BoundingBox layout_bbox () const
 
Elementsnap_to (const Element &target, RelativeAlignment relative, Point offset=Point(0, 0))
 
Elementsnap_to (const Element &target, Alignment alignment, Point offset=Point(0, 0))
 
Elementalign_to (const Element &target, Axis axis, Point offset=Point(0, 0))
 
Elementalign_to (const Element &target, Axis axis, Anchor anchor, Point offset=Point(0, 0))
 
TransformList transform_list ()
 
TransformList transform_list () const
 
TransformList transform ()
 
TransformList transform () const
 
ChildMap get_children ()
 
ConstChildMap get_children () const
 
DepthFirstIterator begin ()
 
ConstDepthFirstIterator begin () const
 
DepthFirstIterator end ()
 
ConstDepthFirstIterator end () const
 
DepthFirstRange depth_first ()
 
DepthFirstRange depth_first (TraversalOptions options)
 
ConstDepthFirstRange depth_first () const
 
ConstDepthFirstRange depth_first (TraversalOptions options) const
 
DepthFirstRange descendants ()
 
DepthFirstRange descendants (TraversalOptions options)
 
ConstDepthFirstRange descendants () const
 
ConstDepthFirstRange descendants (TraversalOptions options) const
 
template<>
Element::ChildList get_immediate_children ()
 
template<>
Element::ConstChildList get_immediate_children () const
 
 AttributeMap ()=default
 
 AttributeMap (SVGAttrib _attr)
 
- Public Member Functions inherited from SVG::AttributeMap
 AttributeMap (SVGAttrib _attr)
 
const SVGAttrib & attrs () const
 
bool has_attr (const std::string &key) const
 
std::string get_attr (const std::string &key, const std::string &fallback="") const
 
template<typename T >
std::enable_if< detail::is_numeric_attr_type< T >::value, T >::type get_attr (const std::string &key, T fallback) const
 
template<typename T >
AttributeMapset_attr (const std::string key, T value)
 
AttributeMapset_attr (const std::string key, const Color &value)
 
AttributeMapset_attrs (std::initializer_list< std::pair< std::string, std::string > > values)
 
AttributeMapset_attrs (const SVGAttrib &values)
 
AttrSetter set_attr (const std::string key)
 
ClassList class_list ()
 
ClassList class_list () const
 
TransformList transform_list ()
 
TransformList transform_list () const
 
TransformList transform ()
 
TransformList transform () const
 
template<>
AttributeMapset_attr (const std::string key, const double value)
 
template<>
AttributeMapset_attr (const std::string key, const char *value)
 
template<>
AttributeMapset_attr (const std::string key, const std::string value)
 

Static Public Attributes

static constexpr ElementKind static_kind = ElementKind::Text
 

Protected Member Functions

std::string svg_to_string (const size_t) const override
 
std::unique_ptr< Elementclone_element_impl () const override
 
- Protected Member Functions inherited from SVG::Element
std::vector< Element * > get_children_helper ()
 
std::vector< const Element * > get_children_helper () const
 
BoundingBox get_autoscale_bbox () const
 
BoundingBox measured_layout_bbox () const
 
BoundingBox include_stroke_width (const BoundingBox &bbox) const
 
void autoscale_nested_svgs (const AutoscaleOptions &options, bool responsive)
 
void get_bbox (Element::BoundingBox &, bool visible_only=true) const
 
void set_viewbox_from_bbox (const BoundingBox &bbox, const Margins &margins)
 
virtual std::string tag ()
 
virtual std::string tag () const
 
template<typename T >
std::unique_ptr< T > clone_as () const
 
void set_attr_value (const std::string &key, const std::string &value) override
 
AttrSetter make_attr_setter (const std::string &key) override
 
SVGowner_svg ()
 
const SVGowner_svg () const
 
void set_owner_svg (SVG *owner)
 
void register_subtree_ids ()
 
void unregister_subtree_ids ()
 
void register_own_id ()
 
void unregister_own_id ()
 
void clear_children ()
 
Elementinsert_child (std::unique_ptr< Element > child, ChildIterator position)
 
void reparent_children ()
 
double find_numeric (const std::string &key) const
 
- Protected Member Functions inherited from SVG::AttributeMap
SVGAttrib & mutable_attrs ()
 

Protected Attributes

std::string content
 
- Protected Attributes inherited from SVG::Element
std::vector< std::unique_ptr< Element > > children
 

Additional Inherited Members

- Public Types inherited from SVG::Element
using ChildList = std::vector< Element * >
 
using ConstChildList = std::vector< const Element * >
 
using ChildMap = std::map< std::string, ChildList >
 
using ConstChildMap = std::map< std::string, ConstChildList >
 
- Protected Types inherited from SVG::Element
using ChildIterator = std::vector< std::unique_ptr< Element > >::iterator
 
- Static Protected Member Functions inherited from SVG::Element
static detail::AffineTransform transform_for (const Element *element, const detail::AffineTransform &parent_transform)
 

Detailed Description

Text positioned with x/y coordinates.

Member Function Documentation

◆ clone_element_impl()

std::unique_ptr< Element > SVG::Text::clone_element_impl ( ) const
inlineoverrideprotectedvirtual

Reimplemented from SVG::Element.

◆ Element()

SVG::Element::Element ( const Element other)
inline

Copy attributes and deep-copy children without carrying parent or owner indexes.

◆ get_bbox()

Element::BoundingBox SVG::Text::get_bbox ( ) const
inlineoverridevirtual

Return approximate text bounds from coordinates, font size, anchor, and baseline attributes.

Reimplemented from SVG::Element.

◆ kind()

ElementKind SVG::Text::kind ( ) const
inlineoverridevirtual

Return the element category used by typed traversal; custom subclasses default to Custom.

Reimplemented from SVG::Element.

◆ svg_to_string()

std::string SVG::Text::svg_to_string ( const size_t  indent_level) const
inlineoverrideprotectedvirtual

Reimplemented from SVG::Element.


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