izzi
SVG SUBSET C++ API
Loading...
Searching...
No Matches
SVG Elements

All svg components are derived from element_base as per hierarchy More...

Classes

struct  svg::circle_element
 
struct  svg::circle_element::data
 
struct  svg::defs_element
 
struct  svg::desc_element
 
struct  svg::element_base
 Abstract base class for all SVG Elements. More...
 
struct  svg::filter_element
 
struct  svg::foreign_element
 
struct  svg::gradient_element
 
struct  svg::group_element
 
struct  svg::iframe_element
 iframe HTML object embedded in SVG container. NB: HTML elements video/audio/iframe/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe More...
 
struct  svg::image_element
 
struct  svg::image_element::data
 
struct  svg::line_element
 
struct  svg::line_element::data
 
struct  svg::linear_gradient
 Linear gradients https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient. More...
 
struct  svg::marker_element
 
struct  svg::object_element
 HTML object embedded in SVG container. Unlike image_elements, object_elements are not locked down for scripting. NB: HTML elements video/audio/object/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object. More...
 
struct  svg::path_element
 
struct  svg::path_element::data
 
struct  svg::polyline_element
 
struct  svg::radial_gradient
 Circular gradients https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient. More...
 
struct  svg::rect_element
 
struct  svg::rect_element::data
 
struct  svg::script_element
 
struct  svg::svg_element
 
struct  svg::text_element
 
struct  svg::text_element::data
 
struct  svg::text_path_element
 
struct  svg::title_element
 
struct  svg::video_element
 video HTML object embedded in SVG container. NB: HTML elements video/audio/iframe/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video More...
 

Functions

void svg::circle_element::finish_element ()
 
void svg::defs_element::finish_element ()
 
void svg::desc_element::finish_element ()
 
void svg::filter_element::finish_element ()
 
void svg::foreign_element::finish_element ()
 
void svg::gradient_element::finish_element ()
 
void svg::group_element::finish_element ()
 
void svg::iframe_element::finish_element ()
 
void svg::image_element::finish_element ()
 
void svg::line_element::finish_element ()
 
void svg::linear_gradient::finish_element ()
 
void svg::link_element::finish_element ()
 
void svg::marker_element::finish_element ()
 
void svg::object_element::finish_element ()
 
void svg::path_element::finish_element ()
 
void svg::polyline_element::finish_element ()
 
void svg::radial_gradient::finish_element ()
 
void svg::rect_element::finish_element ()
 
void svg::script_element::finish_element ()
 
void svg::text_element::finish_element ()
 
void svg::title_element::finish_element ()
 
void svg::video_element::finish_element ()
 
string svg::make_tspan_y_from_string_by_token (string s, uint xpos, const char token=' ')
 Make text span.
 
void svg::element_base::store_element (const element_base &e)
 

Detailed Description

All svg components are derived from element_base as per hierarchy


Class Documentation

◆ svg::circle_element

struct svg::circle_element

Circle SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle

Attributes: x, y, width, height, xlink:xref, preserveAspectRatio

Definition at line 794 of file a60-svg-elements.h.

+ Inheritance diagram for svg::circle_element:

Public Member Functions

void add_data (const data &d, string trans="")
 
void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Attributes

static constexpr const char * pair_finish_tag = "</circle>"
 
static constexpr const char * pair_open_tag = "<circle>"
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Member Function Documentation

◆ add_data()

void svg::circle_element::add_data ( const data & d,
string trans = "" )
inline

Definition at line 811 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element()

void svg::circle_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 827 of file a60-svg-elements.h.

Member Data Documentation

◆ pair_finish_tag

const char* svg::circle_element::pair_finish_tag = "</circle>"
staticconstexpr

Definition at line 806 of file a60-svg-elements.h.

◆ pair_open_tag

const char* svg::circle_element::pair_open_tag = "<circle>"
staticconstexpr

Definition at line 805 of file a60-svg-elements.h.

◆ svg::circle_element::data

struct svg::circle_element::data

Definition at line 796 of file a60-svg-elements.h.

Public Attributes

atype _M_radius
 
atype _M_x_origin
 
atype _M_y_origin
 

Member Data Documentation

◆ _M_radius

atype svg::circle_element::data::_M_radius

Definition at line 800 of file a60-svg-elements.h.

◆ _M_x_origin

atype svg::circle_element::data::_M_x_origin

Definition at line 798 of file a60-svg-elements.h.

◆ _M_y_origin

atype svg::circle_element::data::_M_y_origin

Definition at line 799 of file a60-svg-elements.h.

◆ svg::defs_element

struct svg::defs_element

Definitions SVG element. Storage space for elements used later.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs

Attributes: id

Definition at line 196 of file a60-svg-elements.h.

+ Inheritance diagram for svg::defs_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Member Functions

static string finish_defs ()
 
static string start_defs ()
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ finish_defs()

static string svg::defs_element::finish_defs ( )
inlinestatic

Definition at line 203 of file a60-svg-elements.h.

◆ start_defs()

static string svg::defs_element::start_defs ( )
inlinestatic

Definition at line 199 of file a60-svg-elements.h.

◆ start_element()

void svg::defs_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Reimplemented in svg::gradient_element, svg::linear_gradient, and svg::radial_gradient.

Definition at line 207 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::desc_element

struct svg::desc_element

Description SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc

Definition at line 583 of file a60-svg-elements.h.

+ Inheritance diagram for svg::desc_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (const string dsc)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element() [1/2]

void svg::desc_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 586 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::desc_element::start_element ( const string dsc)
inline

Definition at line 589 of file a60-svg-elements.h.

◆ svg::element_base

struct svg::element_base

Abstract base class for all SVG Elements.

Definition at line 31 of file a60-svg-elements.h.

+ Inheritance diagram for svg::element_base:

Public Types

using atype = space_type
 
using stream_type = std::ostringstream
 

Public Member Functions

void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
virtual void finish_element ()=0
 
virtual void start_element ()=0
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Public Attributes

stream_type _M_sstream
 Virtual, only one buffer.
 

Static Public Attributes

static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Typedef Documentation

◆ atype

Definition at line 39 of file a60-svg-elements.h.

◆ stream_type

using svg::element_base::stream_type = std::ostringstream

Definition at line 33 of file a60-svg-elements.h.

Member Function Documentation

◆ add_element()

void svg::element_base::add_element ( const element_base & e)
inline

Definition at line 67 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ add_fill()

void svg::element_base::add_fill ( const string id)
inline

Definition at line 71 of file a60-svg-elements.h.

◆ add_filter()

void svg::element_base::add_filter ( const string id)
inline

Definition at line 79 of file a60-svg-elements.h.

◆ add_raw()

void svg::element_base::add_raw ( const string & raw)
inline

Definition at line 88 of file a60-svg-elements.h.

◆ add_style()

void svg::element_base::add_style ( const style & sty)
inline

Definition at line 92 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ add_title()

void svg::element_base::add_title ( const string & t)

Definition at line 23 of file a60-svg-elements-components.h.

+ Here is the call graph for this function:

◆ add_transform()

void svg::element_base::add_transform ( const string s)
inline

Common transforms include rotate(180)

Definition at line 100 of file a60-svg-elements.h.

◆ empty()

bool svg::element_base::empty ( )
inline

Empty when the output buffer is.

Definition at line 53 of file a60-svg-elements.h.

◆ finish_element()

◆ start_element()

◆ str() [1/2]

string svg::element_base::str ( ) const
inline

Definition at line 56 of file a60-svg-elements.h.

◆ str() [2/2]

void svg::element_base::str ( const string & s)
inline

Definition at line 59 of file a60-svg-elements.h.

Member Data Documentation

◆ _M_sstream

stream_type svg::element_base::_M_sstream

Virtual, only one buffer.

Definition at line 43 of file a60-svg-elements.h.

◆ finish_tag

const char* svg::element_base::finish_tag = " >"
staticconstexpr

Definition at line 34 of file a60-svg-elements.h.

◆ finish_tag_hard

string svg::element_base::finish_tag_hard = string(finish_tag) + k::newline
staticconstexpr

Definition at line 35 of file a60-svg-elements.h.

◆ self_finish_tag

const char* svg::element_base::self_finish_tag = " />"
staticconstexpr

Definition at line 36 of file a60-svg-elements.h.

◆ svg::filter_element

struct svg::filter_element

Datum consolidating filter use and preferences.

<filter id="gblur10" x="0" y="0">
<feGaussianBlur in="SourceGraphic" stdDeviation="10" />
<feOffset dx="0" dy="0" />
</filter>

Definition at line 286 of file a60-svg-elements.h.

+ Inheritance diagram for svg::filter_element:

Public Types

enum class  type { feBlend , feImage , feOffset , feGaussianBlur , feColorMatrix , feComponentTransfer }
 
- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 

Public Member Functions

void add_data (const string fltr)
 
void finish_element ()
 
string gaussian_blur (string dev)
 
string gaussian_blur (string in, string dev)
 
void start_element ()
 
void start_element (const string id)
 
void start_element (const string id, const area<> blur_area, const point_2t p)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Enumeration Documentation

◆ type

enum class svg::filter_element::type
strong
Enumerator
feBlend 
feImage 
feOffset 
feGaussianBlur 
feColorMatrix 
feComponentTransfer 

Definition at line 288 of file a60-svg-elements.h.

Member Function Documentation

◆ add_data()

void svg::filter_element::add_data ( const string fltr)
inline

Definition at line 329 of file a60-svg-elements.h.

◆ gaussian_blur() [1/2]

string svg::filter_element::gaussian_blur ( string dev)
inline

Definition at line 348 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ gaussian_blur() [2/2]

string svg::filter_element::gaussian_blur ( string in,
string dev )
inline

Definition at line 336 of file a60-svg-elements.h.

◆ start_element() [1/3]

void svg::filter_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 299 of file a60-svg-elements.h.

◆ start_element() [2/3]

void svg::filter_element::start_element ( const string id)
inline

Definition at line 303 of file a60-svg-elements.h.

◆ start_element() [3/3]

void svg::filter_element::start_element ( const string id,
const area<> blur_area,
const point_2t p )
inline

Definition at line 312 of file a60-svg-elements.h.

◆ svg::foreign_element

struct svg::foreign_element

So-called Foreign Objects.

Using to get HTML video elements.

https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject https://stackoverflow.com/questions/40324916/video-tag-embedded-in-svg

Translate moves the origin from the top left to the specified coordinates. If you embed an object at 0,0 it will be placed at the new origin. In this case you must embed it at -translation coordinates.

Even so, I had to increase the width and height. Why? I don't know. It doesn't seem to be a scale by 2. If someone knows I am curious to know.

<svg version="1.1" class="center-block" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" height="600" style="border: 1px solid black;"> <g> <g transform="translate(151,104) scale(1,1)"> <rect x="0" y="0" width="300" height="200"></rect> <foreignObject x="-151" y="-104" width="500" height="400"> <video xmlns="http://www.w3.org/1999/xhtml" width="300" height="200" controls="" style="position: fixed; left: 151px; top: 104px;"> <source src="http://techslides.com/demos/sample-videos/small.mp4" type="video/mp4" >less </video> </foreignObject> </g> </g> </svg>

Definition at line 1189 of file a60-svg-elements.h.

+ Inheritance diagram for svg::foreign_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (const point_2t origin, const area<> av, const area<> arect, const point_2t scale=std::make_tuple(1.0, 1.0))
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element() [1/2]

void svg::foreign_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Reimplemented in svg::iframe_element, svg::object_element, and svg::video_element.

Definition at line 1192 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::foreign_element::start_element ( const point_2t origin,
const area<> av,
const area<> arect,
const point_2t scale = std::make_tuple(1.0, 1.0) )
inline

Definition at line 1199 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::gradient_element

struct svg::gradient_element

Gradient SVG elements.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient

Note these are always inside a defs block.

Attributes: id

Definition at line 369 of file a60-svg-elements.h.

+ Inheritance diagram for svg::gradient_element:

Public Types

enum class  type { linearGradient , meshgradient , radialGradient , stop }
 
- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 

Public Member Functions

void finish_element ()
 
const string offset_percentage (const ssize_type numer, const ssize_type denom)
 
void start_element ()
 
void stop (const string off, const color &klr, const double opacity=1.0)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Static Public Member Functions inherited from svg::defs_element
static string finish_defs ()
 
static string start_defs ()
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Enumeration Documentation

◆ type

enum class svg::gradient_element::type
strong
Enumerator
linearGradient 
meshgradient 
radialGradient 
stop 

Definition at line 371 of file a60-svg-elements.h.

Member Function Documentation

◆ offset_percentage()

const string svg::gradient_element::offset_percentage ( const ssize_type numer,
const ssize_type denom )
inline

Definition at line 403 of file a60-svg-elements.h.

◆ start_element()

void svg::gradient_element::start_element ( )
inlinevirtual

Reimplemented from svg::defs_element.

Reimplemented in svg::linear_gradient, and svg::radial_gradient.

Definition at line 380 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ stop()

void svg::gradient_element::stop ( const string off,
const color & klr,
const double opacity = 1.0 )
inline

Definition at line 388 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::group_element

struct svg::group_element

Group SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g

Attributes: x, y, width, height, xlink:xref, preserveAspectRatio

Definition at line 117 of file a60-svg-elements.h.

+ Inheritance diagram for svg::group_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (string name)
 For groups of elements that have the same name.
 
void start_element (string name, const style &sty)
 
void start_element (string name, const transform, const string ts, const style &sty=k::no_style)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Member Functions

static string finish_group ()
 
static string start_group (const string name="")
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ finish_group()

static string svg::group_element::finish_group ( )
inlinestatic

Definition at line 136 of file a60-svg-elements.h.

◆ start_element() [1/4]

void svg::group_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 140 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/4]

void svg::group_element::start_element ( string name)
inline

For groups of elements that have the same name.

Also, although one can nest SVG elements inside another SVG by using an 'image_element', the display quality is lacking in inkscape. To work around this, insert the contents of the nested SVG into a named group element instead.

Definition at line 150 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [3/4]

void svg::group_element::start_element ( string name,
const style & sty )
inline

Definition at line 155 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [4/4]

void svg::group_element::start_element ( string name,
const transform ,
const string ts,
const style & sty = k::no_style )
inline

Definition at line 164 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_group()

static string svg::group_element::start_group ( const string name = "")
inlinestatic

Definition at line 120 of file a60-svg-elements.h.

◆ svg::iframe_element

struct svg::iframe_element

iframe HTML object embedded in SVG container. NB: HTML elements video/audio/iframe/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

Definition at line 1305 of file a60-svg-elements.h.

+ Inheritance diagram for svg::iframe_element:

Public Member Functions

void add_data (const area<> a, const string src, const string mtype="image/jpeg", const string attr=R"(sandbox="allow-scripts allow-same-origin")")
 iframe. a is width and height of video as embedded in page r is the foreign object, with x/y offset and scaled size
 
void finish_element ()
 
void start_element ()
 
void start_element (const string &id)
 
- Public Member Functions inherited from svg::foreign_element
void start_element (const point_2t origin, const area<> av, const area<> arect, const point_2t scale=std::make_tuple(1.0, 1.0))
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::iframe_element::add_data ( const area<> a,
const string src,
const string mtype = "image/jpeg",
const string attr = R"(sandbox="allow-scripts allow-same-origin")" )
inline

iframe. a is width and height of video as embedded in page r is the foreign object, with x/y offset and scaled size

Definition at line 1326 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::iframe_element::start_element ( )
inlinevirtual

Reimplemented from svg::foreign_element.

Definition at line 1318 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::iframe_element::start_element ( const string & id)
inline

Definition at line 1308 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::image_element

struct svg::image_element

Image SVG element. This can be another SVG file, or can be a raster image format like PNG or JPEG.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image

Attributes: x, y, width, height, xlink:xref, preserveAspectRatio

Definition at line 1091 of file a60-svg-elements.h.

+ Inheritance diagram for svg::image_element:

Public Member Functions

void add_data (const data &d)
 Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.
 
void add_data (const data &d, const string vattr, const string cors)
 Visibility and other HTML/img attributes.
 
void finish_element ()
 
void start_element ()
 
void start_element (const string &id)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data() [1/2]

void svg::image_element::add_data ( const data & d)
inline

Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.

Definition at line 1121 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ add_data() [2/2]

void svg::image_element::add_data ( const data & d,
const string vattr,
const string cors )
inline

Visibility and other HTML/img attributes.

Parameters
vattr= visibility attribute, "visible" or "hidden"
cors= CORS, "anonymous" or "use-credentials"
lattr= loading attribute, "lazy" or "eager"

Definition at line 1145 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::image_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 1112 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::image_element::start_element ( const string & id)
inline

Definition at line 1103 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::image_element::data

struct svg::image_element::data

Definition at line 1093 of file a60-svg-elements.h.

Public Attributes

atype _M_height
 
atype _M_width
 
atype _M_x_origin
 
string _M_xref
 
atype _M_y_origin
 

Member Data Documentation

◆ _M_height

atype svg::image_element::data::_M_height

Definition at line 1099 of file a60-svg-elements.h.

◆ _M_width

atype svg::image_element::data::_M_width

Definition at line 1098 of file a60-svg-elements.h.

◆ _M_x_origin

atype svg::image_element::data::_M_x_origin

Definition at line 1096 of file a60-svg-elements.h.

◆ _M_xref

string svg::image_element::data::_M_xref

Definition at line 1095 of file a60-svg-elements.h.

◆ _M_y_origin

atype svg::image_element::data::_M_y_origin

Definition at line 1097 of file a60-svg-elements.h.

◆ svg::line_element

struct svg::line_element

Line SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line

Attributes: x, y, width, height, xlink:xref, preserveAspectRatio

Definition at line 849 of file a60-svg-elements.h.

+ Inheritance diagram for svg::line_element:

Public Member Functions

void add_data (const data &d, const string dasharray="")
 
void finish_element ()
 
void start_element ()
 
void start_element (string name)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::line_element::add_data ( const data & d,
const string dasharray = "" )
inline

Definition at line 862 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::line_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 888 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::line_element::start_element ( string name)
inline

Definition at line 892 of file a60-svg-elements.h.

◆ svg::line_element::data

struct svg::line_element::data

Definition at line 851 of file a60-svg-elements.h.

Public Attributes

atype _M_x_begin
 
atype _M_x_end
 
atype _M_y_begin
 
atype _M_y_end
 

Member Data Documentation

◆ _M_x_begin

atype svg::line_element::data::_M_x_begin

Definition at line 853 of file a60-svg-elements.h.

◆ _M_x_end

atype svg::line_element::data::_M_x_end

Definition at line 854 of file a60-svg-elements.h.

◆ _M_y_begin

atype svg::line_element::data::_M_y_begin

Definition at line 855 of file a60-svg-elements.h.

◆ _M_y_end

atype svg::line_element::data::_M_y_end

Definition at line 856 of file a60-svg-elements.h.

◆ svg::linear_gradient

struct svg::linear_gradient
+ Inheritance diagram for svg::linear_gradient:

Public Member Functions

void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::gradient_element
const string offset_percentage (const ssize_type numer, const ssize_type denom)
 
void stop (const string off, const color &klr, const double opacity=1.0)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::gradient_element
enum class  type { linearGradient , meshgradient , radialGradient , stop }
 
- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Static Public Member Functions inherited from svg::defs_element
static string finish_defs ()
 
static string start_defs ()
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element()

void svg::linear_gradient::start_element ( )
inlinevirtual

Reimplemented from svg::gradient_element.

Definition at line 484 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::link_element

struct svg::link_element

Link SVG element. a

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/a

Attributes: id

Definition at line 236 of file a60-svg-elements.h.

+ Inheritance diagram for svg::link_element:

Public Member Functions

void add_data (const string &url)
 
void add_data (const string &url, const string relt, const string ast, const string cors="anonymous")
 Overload for rel=x form. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/preload.
 
void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data() [1/2]

void svg::link_element::add_data ( const string & url)
inline

Definition at line 246 of file a60-svg-elements.h.

◆ add_data() [2/2]

void svg::link_element::add_data ( const string & url,
const string relt,
const string ast,
const string cors = "anonymous" )
inline

Overload for rel=x form. https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/preload.

Parameters
reltattribute that describes the relationship of the target object to the link object
asttype of resource.

Definition at line 258 of file a60-svg-elements.h.

◆ start_element()

void svg::link_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 239 of file a60-svg-elements.h.

◆ svg::marker_element

struct svg::marker_element

Marker SVG elements defines a graphic used for drawing arrow[heads, tails, mid] on a poly line or path.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/marker-mid

Note these are always inside a defs block.

Attributes: id

Definition at line 515 of file a60-svg-elements.h.

+ Inheritance diagram for svg::marker_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (const string id, const area<> a, const point_2t p)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element() [1/2]

void svg::marker_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 518 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::marker_element::start_element ( const string id,
const area<> a,
const point_2t p )
inline

Definition at line 522 of file a60-svg-elements.h.

◆ svg::object_element

struct svg::object_element

HTML object embedded in SVG container. Unlike image_elements, object_elements are not locked down for scripting. NB: HTML elements video/audio/object/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object.

Definition at line 1359 of file a60-svg-elements.h.

+ Inheritance diagram for svg::object_element:

Public Member Functions

void add_data (const area<> a, const string src, const string mtype="image/jpeg", const string attr=R"(sandbox="allow-scripts allow-same-origin")")
 Add resource to object.
 
void finish_element ()
 
void start_element ()
 
void start_element (const string &id)
 
- Public Member Functions inherited from svg::foreign_element
void start_element (const point_2t origin, const area<> av, const area<> arect, const point_2t scale=std::make_tuple(1.0, 1.0))
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::object_element::add_data ( const area<> a,
const string src,
const string mtype = "image/jpeg",
const string attr = R"(sandbox="allow-scripts allow-same-origin")" )
inline

Add resource to object.

Parameters
ais width and height of video as embedded in page
srcis the resource URL
mtypeis the MIME type
attris any collection of ad-hoc HTML attributes.

Definition at line 1381 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::object_element::start_element ( )
inlinevirtual

Reimplemented from svg::foreign_element.

Definition at line 1372 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::object_element::start_element ( const string & id)
inline

Definition at line 1362 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::path_element

struct svg::path_element

Path SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path

Attributes: d, pathLength

Definition at line 994 of file a60-svg-elements.h.

+ Inheritance diagram for svg::path_element:

Public Member Functions

void add_data (const data &d)
 Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.
 
void finish_element ()
 
void start_element ()
 
void start_element (const string name)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Attributes

static constexpr const char * pair_finish_tag = "</path>"
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Member Function Documentation

◆ add_data()

void svg::path_element::add_data ( const data & d)
inline

Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.

Definition at line 1007 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::path_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 1020 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::path_element::start_element ( const string name)
inline

Definition at line 1024 of file a60-svg-elements.h.

Member Data Documentation

◆ pair_finish_tag

const char* svg::path_element::pair_finish_tag = "</path>"
staticconstexpr

Definition at line 1002 of file a60-svg-elements.h.

◆ svg::path_element::data

struct svg::path_element::data

Definition at line 996 of file a60-svg-elements.h.

Public Attributes

string _M_d
 
atype _M_length
 

Member Data Documentation

◆ _M_d

string svg::path_element::data::_M_d

Definition at line 998 of file a60-svg-elements.h.

◆ _M_length

atype svg::path_element::data::_M_length

Definition at line 999 of file a60-svg-elements.h.

◆ svg::polyline_element

struct svg::polyline_element

Polyline SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/polyline

Attributes: points, pathLength

Definition at line 913 of file a60-svg-elements.h.

+ Inheritance diagram for svg::polyline_element:

Public Member Functions

 polyline_element ()
 
 polyline_element (const vrange &points)
 
void add_data (const stroke_style &sstyl)
 
void finish_element ()
 
void start_element ()
 
void start_element (string name)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Public Attributes

vrange polypoints
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Constructor & Destructor Documentation

◆ polyline_element() [1/2]

svg::polyline_element::polyline_element ( )
inline

Definition at line 918 of file a60-svg-elements.h.

◆ polyline_element() [2/2]

svg::polyline_element::polyline_element ( const vrange & points)
inline

Definition at line 920 of file a60-svg-elements.h.

Member Function Documentation

◆ add_data()

void svg::polyline_element::add_data ( const stroke_style & sstyl)
inline

Definition at line 925 of file a60-svg-elements.h.

◆ start_element() [1/2]

void svg::polyline_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 968 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::polyline_element::start_element ( string name)
inline

Definition at line 972 of file a60-svg-elements.h.

Member Data Documentation

◆ polypoints

vrange svg::polyline_element::polypoints

Definition at line 916 of file a60-svg-elements.h.

◆ svg::radial_gradient

struct svg::radial_gradient
+ Inheritance diagram for svg::radial_gradient:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (const string id, const ssize_type radius, const ssize_type cx, const ssize_type cy, const ssize_type fr, const ssize_type fx, const ssize_type fy)
 
void start_element (const string id, const ssize_type radius=0, const ssize_type cx=0, const ssize_type cy=0)
 
- Public Member Functions inherited from svg::gradient_element
const string offset_percentage (const ssize_type numer, const ssize_type denom)
 
void stop (const string off, const color &klr, const double opacity=1.0)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::gradient_element
enum class  type { linearGradient , meshgradient , radialGradient , stop }
 
- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Static Public Member Functions inherited from svg::defs_element
static string finish_defs ()
 
static string start_defs ()
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element() [1/3]

void svg::radial_gradient::start_element ( )
inlinevirtual

Reimplemented from svg::gradient_element.

Definition at line 421 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/3]

void svg::radial_gradient::start_element ( const string id,
const ssize_type radius,
const ssize_type cx,
const ssize_type cy,
const ssize_type fr,
const ssize_type fx,
const ssize_type fy )
inline

Definition at line 449 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [3/3]

void svg::radial_gradient::start_element ( const string id,
const ssize_type radius = 0,
const ssize_type cx = 0,
const ssize_type cy = 0 )
inline

Definition at line 431 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::rect_element

struct svg::rect_element

Rectangle SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect

Attributes: x, y, width, height, rx, ry

Definition at line 737 of file a60-svg-elements.h.

+ Inheritance diagram for svg::rect_element:

Public Member Functions

void add_data (const data &d)
 Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.
 
void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Attributes

static constexpr const char * pair_finish_tag = "</rect>"
 
static constexpr const char * pair_open_tag = "<rect>"
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Member Function Documentation

◆ add_data()

void svg::rect_element::add_data ( const data & d)
inline

Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.

Definition at line 755 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element()

void svg::rect_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 773 of file a60-svg-elements.h.

Member Data Documentation

◆ pair_finish_tag

const char* svg::rect_element::pair_finish_tag = "</rect>"
staticconstexpr

Definition at line 750 of file a60-svg-elements.h.

◆ pair_open_tag

const char* svg::rect_element::pair_open_tag = "<rect>"
staticconstexpr

Definition at line 749 of file a60-svg-elements.h.

◆ svg::rect_element::data

struct svg::rect_element::data

Definition at line 739 of file a60-svg-elements.h.

Public Attributes

atype _M_height
 
atype _M_width
 
atype _M_x_origin
 
atype _M_y_origin
 

Member Data Documentation

◆ _M_height

atype svg::rect_element::data::_M_height

Definition at line 744 of file a60-svg-elements.h.

◆ _M_width

atype svg::rect_element::data::_M_width

Definition at line 743 of file a60-svg-elements.h.

◆ _M_x_origin

atype svg::rect_element::data::_M_x_origin

Definition at line 741 of file a60-svg-elements.h.

◆ _M_y_origin

atype svg::rect_element::data::_M_y_origin

Definition at line 742 of file a60-svg-elements.h.

◆ svg::script_element

struct svg::script_element
+ Inheritance diagram for svg::script_element:

Public Member Functions

void add_data (const string scriptstr)
 Add string with script source.
 
void finish_element ()
 
void start_element ()
 
void start_element (const string &id)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Member Functions

static const string tooltip_attribute (const string &id)
 
static const string & tooltip_script ()
 showTooltip(id) hideTooltip(id)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::script_element::add_data ( const string scriptstr)
inline

Add string with script source.

Parameters
scriptstrscript source

Definition at line 1460 of file a60-svg-elements.h.

◆ start_element() [1/2]

void svg::script_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 1422 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::script_element::start_element ( const string & id)
inline

Definition at line 1412 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ tooltip_attribute()

static const string svg::script_element::tooltip_attribute ( const string & id)
inlinestatic

Definition at line 1447 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ tooltip_script()

static const string & svg::script_element::tooltip_script ( )
inlinestatic

showTooltip(id) hideTooltip(id)

Definition at line 1428 of file a60-svg-elements.h.

◆ svg::svg_element

struct svg::svg_element
+ Inheritance diagram for svg::svg_element:

Public Types

using area = svg::area<atype>
 
- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 

Public Member Functions

 svg_element (const string __title, const area &__cv, const bool lifetime=true, const unit u=svg::unit::pixel, const typography &__typo=k::smono_typo)
 
 svg_element (const string __title, const string desc, const area &__cv, const bool lifetime=true)
 
 svg_element (const svg_element &other)
 
 ~svg_element ()
 
void add_desc (const string desc)
 
void add_filters ()
 
void add_title ()
 
const point_2t center_point ()
 
void finish ()
 
void finish_element ()
 
void start (const string &desc="")
 
void start_element ()
 SVG element beginning boilerplate for outermost (containing) svg_element. Variable: unit, x=0, y=0, width, height.
 
void start_element (const point_2t p, const area destarea, const style &sty=k::no_style)
 
void write ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Public Attributes

const area _M_area
 
const bool _M_lifetime
 
const string _M_name
 
const typography_M_typo
 
const unit _M_unit
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Additional Inherited Members

- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Typedef Documentation

◆ area

Definition at line 1483 of file a60-svg-elements.h.

Constructor & Destructor Documentation

◆ svg_element() [1/3]

svg::svg_element::svg_element ( const string __title,
const area & __cv,
const bool lifetime = true,
const unit u = svg::unit::pixel,
const typography & __typo = k::smono_typo )
inline

Definition at line 1491 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg_element() [2/3]

svg::svg_element::svg_element ( const string __title,
const string desc,
const area & __cv,
const bool lifetime = true )
inline

Definition at line 1502 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg_element() [3/3]

svg::svg_element::svg_element ( const svg_element & other)
inline

Definition at line 1511 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ ~svg_element()

svg::svg_element::~svg_element ( )
inline

Definition at line 1517 of file a60-svg-elements.h.

+ Here is the call graph for this function:

Member Function Documentation

◆ add_desc()

void svg::svg_element::add_desc ( const string desc)
inline

Definition at line 1542 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ add_filters()

void svg::svg_element::add_filters ( )

◆ add_title()

void svg::svg_element::add_title ( )
inline

Definition at line 1538 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ center_point()

const point_2t svg::svg_element::center_point ( )
inline

Definition at line 1524 of file a60-svg-elements.h.

◆ finish()

void svg::svg_element::finish ( )
inline

Definition at line 1566 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element()

void svg::svg_element::finish_element ( )
virtual

Implements svg::element_base.

◆ start()

void svg::svg_element::start ( const string & desc = "")
inline

Definition at line 1557 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::svg_element::start_element ( )
virtual

SVG element beginning boilerplate for outermost (containing) svg_element. Variable: unit, x=0, y=0, width, height.

Implements svg::element_base.

Definition at line 52 of file a60-svg-elements-components.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::svg_element::start_element ( const point_2t p,
const area destarea,
const style & sty = k::no_style )

◆ write()

void svg::svg_element::write ( )

Definition at line 32 of file a60-svg-elements-components.h.

Member Data Documentation

◆ _M_area

const area svg::svg_element::_M_area

Definition at line 1486 of file a60-svg-elements.h.

◆ _M_lifetime

const bool svg::svg_element::_M_lifetime

Definition at line 1489 of file a60-svg-elements.h.

◆ _M_name

const string svg::svg_element::_M_name

Definition at line 1485 of file a60-svg-elements.h.

◆ _M_typo

const typography& svg::svg_element::_M_typo

Definition at line 1488 of file a60-svg-elements.h.

◆ _M_unit

const unit svg::svg_element::_M_unit

Definition at line 1487 of file a60-svg-elements.h.

◆ svg::text_element

struct svg::text_element

Text SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text

Attributes: x, y, dx, dy, text-anchor, rotate, textLength, lengthAdjust

Definition at line 610 of file a60-svg-elements.h.

+ Inheritance diagram for svg::text_element:

Public Member Functions

void add_data (const data &d, const string trans="", const unit utype=svg::unit::point)
 Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.
 
virtual void add_text (string txt)
 
void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Static Public Member Functions

static string finish_tspan ()
 
static string start_tspan_x (uint xpos, string dx)
 For text list output, use tspan for line breaks. This span creates a new vertical line space for every tspan block, starting at xpos with horizontal spacing dx ("1.4em").
 
static string start_tspan_x (uint xpos, uint dx)
 
static string start_tspan_y (uint xpos, string dy)
 For text list output, use tspan for line breaks. This span creates a new horizontal line for every tspan block, starting at xpos with spacing dy (1.2em).
 
static string start_tspan_y (uint xpos, uint dy)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::text_element::add_data ( const data & d,
const string trans = "",
const unit utype = svg::unit::point )
inline

Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.

Definition at line 629 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ add_text()

virtual void svg::text_element::add_text ( string txt)
inlinevirtual

Reimplemented in svg::text_path_element.

Definition at line 623 of file a60-svg-elements.h.

◆ finish_tspan()

static string svg::text_element::finish_tspan ( )
inlinestatic

Definition at line 696 of file a60-svg-elements.h.

◆ start_element()

void svg::text_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 653 of file a60-svg-elements.h.

◆ start_tspan_x() [1/2]

static string svg::text_element::start_tspan_x ( uint xpos,
string dx )
inlinestatic

For text list output, use tspan for line breaks. This span creates a new vertical line space for every tspan block, starting at xpos with horizontal spacing dx ("1.4em").

Definition at line 681 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_tspan_x() [2/2]

static string svg::text_element::start_tspan_x ( uint xpos,
uint dx )
inlinestatic

Definition at line 692 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_tspan_y() [1/2]

static string svg::text_element::start_tspan_y ( uint xpos,
string dy )
inlinestatic

For text list output, use tspan for line breaks. This span creates a new horizontal line for every tspan block, starting at xpos with spacing dy (1.2em).

Definition at line 663 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_tspan_y() [2/2]

static string svg::text_element::start_tspan_y ( uint xpos,
uint dy )
inlinestatic

Definition at line 674 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::text_element::data

struct svg::text_element::data

Definition at line 612 of file a60-svg-elements.h.

Public Attributes

string _M_text
 
typography _M_typo
 
atype _M_x_origin
 
atype _M_y_origin
 

Member Data Documentation

◆ _M_text

string svg::text_element::data::_M_text

Definition at line 616 of file a60-svg-elements.h.

◆ _M_typo

typography svg::text_element::data::_M_typo

Definition at line 617 of file a60-svg-elements.h.

◆ _M_x_origin

atype svg::text_element::data::_M_x_origin

Definition at line 614 of file a60-svg-elements.h.

◆ _M_y_origin

atype svg::text_element::data::_M_y_origin

Definition at line 615 of file a60-svg-elements.h.

◆ svg::text_path_element

struct svg::text_path_element

Text on a Path SVG element.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath

Attributes: href, path, method, side, spacing, startOffset, textLength, lengthAdjust

Definition at line 1048 of file a60-svg-elements.h.

+ Inheritance diagram for svg::text_path_element:

Public Member Functions

 text_path_element (const string name, const string off="", const string whichside="")
 
virtual void add_text (string txt)
 
- Public Member Functions inherited from svg::text_element
void add_data (const data &d, const string trans="", const unit utype=svg::unit::point)
 Either serialize immediately (as below), or create data structure that adds data to data_vec and then finish_element serializes.
 
void finish_element ()
 
void start_element ()
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Public Attributes

string offset
 
string path_name
 
string side
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Static Public Member Functions inherited from svg::text_element
static string finish_tspan ()
 
static string start_tspan_x (uint xpos, string dx)
 For text list output, use tspan for line breaks. This span creates a new vertical line space for every tspan block, starting at xpos with horizontal spacing dx ("1.4em").
 
static string start_tspan_x (uint xpos, uint dx)
 
static string start_tspan_y (uint xpos, string dy)
 For text list output, use tspan for line breaks. This span creates a new horizontal line for every tspan block, starting at xpos with spacing dy (1.2em).
 
static string start_tspan_y (uint xpos, uint dy)
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Constructor & Destructor Documentation

◆ text_path_element()

svg::text_path_element::text_path_element ( const string name,
const string off = "",
const string whichside = "" )
inline

Definition at line 1054 of file a60-svg-elements.h.

Member Function Documentation

◆ add_text()

virtual void svg::text_path_element::add_text ( string txt)
inlinevirtual

Reimplemented from svg::text_element.

Definition at line 1059 of file a60-svg-elements.h.

Member Data Documentation

◆ offset

string svg::text_path_element::offset

Definition at line 1051 of file a60-svg-elements.h.

◆ path_name

string svg::text_path_element::path_name

Definition at line 1050 of file a60-svg-elements.h.

◆ side

string svg::text_path_element::side

Definition at line 1052 of file a60-svg-elements.h.

◆ svg::title_element

struct svg::title_element

Title SVG element. This is accessible/alt text. This element must be the first element in the svg objectc.

A title element with no string indicates a decorative element to AT screenreaders.

Specification reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title

Definition at line 555 of file a60-svg-elements.h.

+ Inheritance diagram for svg::title_element:

Public Member Functions

void finish_element ()
 
void start_element ()
 
void start_element (const string t)
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ start_element() [1/2]

void svg::title_element::start_element ( )
inlinevirtual

Implements svg::element_base.

Definition at line 558 of file a60-svg-elements.h.

◆ start_element() [2/2]

void svg::title_element::start_element ( const string t)
inline

Definition at line 562 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ svg::video_element

struct svg::video_element

video HTML object embedded in SVG container. NB: HTML elements video/audio/iframe/canvas can be used w/o foreignElement. This approach uses HTML wrapped in foreign element. https://www.w3.org/TR/SVG2/embedded.html#HTMLElements https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video

Definition at line 1247 of file a60-svg-elements.h.

+ Inheritance diagram for svg::video_element:

Public Member Functions

void add_data (const area<> a, const string src, const string mtype="video/mp4", const string attr=R"(autoplay="true" loop="true" muted="true")")
 Video. a is width and height of video as embedded in page r is the foreign object, with x/y offset and scaled size.
 
void finish_element ()
 
void start_element ()
 
void start_element (const string &id)
 
- Public Member Functions inherited from svg::foreign_element
void start_element (const point_2t origin, const area<> av, const area<> arect, const point_2t scale=std::make_tuple(1.0, 1.0))
 
- Public Member Functions inherited from svg::element_base
void add_element (const element_base &e)
 
void add_fill (const string id)
 
void add_filter (const string id)
 
void add_raw (const string &raw)
 
void add_style (const style &sty)
 
void add_title (const string &t)
 
void add_transform (const string s)
 Common transforms include rotate(180)
 
bool empty ()
 Empty when the output buffer is.
 
void store_element (const element_base &e)
 
string str () const
 
void str (const string &s)
 

Additional Inherited Members

- Public Types inherited from svg::element_base
using atype = space_type
 
using stream_type = std::ostringstream
 
- Public Attributes inherited from svg::element_base
stream_type _M_sstream
 Virtual, only one buffer.
 
- Static Public Attributes inherited from svg::element_base
static constexpr const char * finish_tag = " >"
 
static constexpr string finish_tag_hard = string(finish_tag) + k::newline
 
static constexpr const char * self_finish_tag = " />"
 

Member Function Documentation

◆ add_data()

void svg::video_element::add_data ( const area<> a,
const string src,
const string mtype = "video/mp4",
const string attr = R"(autoplay="true" loop="true" muted="true")" )
inline

Video. a is width and height of video as embedded in page r is the foreign object, with x/y offset and scaled size.

attr is attribues for video_element autoplay="true" or removed loop="true/false" muted="true/false" controls, controlslist, crossorigin, disablepictureinpicture, disableremoteplayback

Definition at line 1275 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [1/2]

void svg::video_element::start_element ( )
inlinevirtual

Reimplemented from svg::foreign_element.

Definition at line 1260 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ start_element() [2/2]

void svg::video_element::start_element ( const string & id)
inline

Definition at line 1250 of file a60-svg-elements.h.

+ Here is the call graph for this function:

Function Documentation

◆ finish_element() [1/22]

void svg::circle_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 836 of file a60-svg-elements.h.

◆ finish_element() [2/22]

void svg::defs_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Reimplemented in svg::gradient_element, svg::linear_gradient, and svg::radial_gradient.

Definition at line 215 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element() [3/22]

void svg::desc_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 597 of file a60-svg-elements.h.

◆ finish_element() [4/22]

void svg::filter_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 353 of file a60-svg-elements.h.

◆ finish_element() [5/22]

void svg::foreign_element::finish_element ( )
virtual

◆ finish_element() [6/22]

void svg::gradient_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::defs_element.

Reimplemented in svg::linear_gradient, and svg::radial_gradient.

Definition at line 412 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element() [7/22]

void svg::group_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 183 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element() [8/22]

void svg::iframe_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::foreign_element.

Definition at line 1349 of file a60-svg-elements.h.

◆ finish_element() [9/22]

void svg::image_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 1155 of file a60-svg-elements.h.

◆ finish_element() [10/22]

void svg::line_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 900 of file a60-svg-elements.h.

◆ finish_element() [11/22]

void svg::linear_gradient::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::gradient_element.

Definition at line 496 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element() [12/22]

void svg::link_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 272 of file a60-svg-elements.h.

◆ finish_element() [13/22]

void svg::marker_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 539 of file a60-svg-elements.h.

◆ finish_element() [14/22]

void svg::object_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::foreign_element.

Definition at line 1400 of file a60-svg-elements.h.

◆ finish_element() [15/22]

void svg::path_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 1032 of file a60-svg-elements.h.

◆ finish_element() [16/22]

void svg::polyline_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 980 of file a60-svg-elements.h.

◆ finish_element() [17/22]

void svg::radial_gradient::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::gradient_element.

Definition at line 472 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ finish_element() [18/22]

void svg::rect_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 781 of file a60-svg-elements.h.

◆ finish_element() [19/22]

void svg::script_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 1471 of file a60-svg-elements.h.

◆ finish_element() [20/22]

void svg::text_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 701 of file a60-svg-elements.h.

◆ finish_element() [21/22]

void svg::title_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Implements svg::element_base.

Definition at line 573 of file a60-svg-elements.h.

◆ finish_element() [22/22]

void svg::video_element::finish_element ( )
virtual

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Reimplemented from svg::foreign_element.

Definition at line 1296 of file a60-svg-elements.h.

◆ make_tspan_y_from_string_by_token()

string svg::make_tspan_y_from_string_by_token ( string s,
uint xpos,
const char token = ' ' )

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Make text span.

Definition at line 707 of file a60-svg-elements.h.

+ Here is the call graph for this function:

◆ store_element()

void svg::element_base::store_element ( const element_base & e)

#include </home/bkoz/src/izzi/src/a60-svg-elements.h>

Definition at line 219 of file a60-svg-elements.h.

+ Here is the call graph for this function: