izzi
SVG SUBSET C++ API
Loading...
Searching...
No Matches
a60-svg-render-basics.h File Reference
#include <numbers>
#include <format>
#include "a60-svg-radial-fill-hexagon.h"
Include dependency graph for a60-svg-render-basics.h:

Go to the source code of this file.

Namespaces

namespace  svg

Functions

double svg::scale_proportional_to_area (double radius, double weight)
double svg::scale_proportional_to_weight (double radius, double weight)
text_element svg::style_text (const string text, const point_2t origin, const typography typo, const string xtransf="")
 Text element at.
text_element svg::style_text_r (const string text, const point_2t origin, const typography &typo, const double deg, const point_2t rorigin, const k::rrotation rr=k::rrotation::none)
 Text element at.
void svg::styled_text (element_base &obj, const string text, const point_2t origin, const typography typo, const string xform="")
 Text at.
void svg::styled_text_r (element_base &obj, const string text, const point_2t origin, const typography typo, const double deg)
 Text at.
void svg::styled_text_r (element_base &obj, const string text, const point_2t origin, const typography typo, const double deg, const point_2t rorigin)
 Text at.
void svg::styled_text_link (element_base &obj, const string text, const point_2t origin, const typography typo, const string uri)
 Text at.
void svg::sized_text (element_base &obj, svg::typography typo, const int sz, const string text, const int tx, const int ty)
 Text at size.
void svg::sized_text_r (element_base &obj, svg::typography typo, const int sz, const string text, const int tx, const int ty, const double deg)
 Text at size, with a transformation=rotation.
uint svg::text_line_n (svg_element &obj, const point_2t origin, const string text, const svg::typography typo, const int sz, const uint maxlen)
 Text of maxlen length, overflow goes on line below.
uint svg::text_line_n_r (svg_element &obj, const point_2t origin, const string text, const svg::typography typo, const uint sz, const uint maxlen, const uint lettingsz=0)
 Text of maxlen length rotated, overflow goes on line below.
rect_element svg::make_rect (const point_2t origin, const style s, const area<> a, const string filterstr="", const string xform="")
 Create rect_element at origin.
rect_element svg::make_rect_centered (const point_2t origin, const style s, const area<> a, const string filterstr="", const string xform="")
 Create rect_element centered at origin.
rect_element svg::make_rect_marker (const point_2t origin, const style s, const space_type r, const string title, const string filterstr="", const string imgid="")
 Create rectangle element with title and tooltip information.
circle_element svg::make_circle (const point_2t origin, const style s, const space_type r, const string xform="")
 Make circle element.
circle_element svg::make_circle_marker (const point_2t origin, const style s, const space_type r, const string title, const string xform="", const string imgid="")
 Make circle element with title and tooltip information.
void svg::point_to_ring_halo (svg_element &obj, const point_2t origin, const space_type radius, const double blurspace, const svg::color klr, const svg::color fadeklr=color::none, const double opacity=1)
 Draws a ring centered at origin of radius r, with outer and inner radial gradient of blurspace in each direction. klr == fade from fadeklr == fade to. Background is transparent if none.
polygon_element svg::make_polygon (const vrange &points, const style s)
 Make polygon element.
polygon_element svg::make_polygon_marker (const vrange &points, const style s, const string title, const string xttr="", const string imgid="")
 Make polygon element.
line_element svg::make_line (const point_2t origin, const point_2t end, style s, const string dasharray="")
 Line primitive.
group_element svg::make_line_rays (const point_2t origin, const style s, const space_type r=4, const uint nrays=10)
 Lines radiating from center point (x,y).
polyline_element svg::make_polyline (const vrange &points, const style s, const stroke_style sstyle={ })
 Polyline primitive.
point_2t svg::get_circumference_point_r (const double angler, const double r, const point_2t origin)
 Angle in radians.
point_2t svg::get_circumference_point_d (const double ad, const double r, const point_2t origin)
 Angle in degrees.
double svg::zero_angle_north_cw (double angled)
 Zero degrees is top, going clockwise (cw).
double svg::zero_angle_north_ccw (double angled)
 Zero degrees is top, going clockwise (cw).
string svg::make_path_data_from_points (const vrange &lpoints)
 Make single path segment.
path_element svg::make_path (const string &pathda, const style &styl, const string id="", const bool selfclosingtagp=true, const string xattr="")
 Draw path given serialized path data. Can be used to make pinstripes, ie top and bottom line layers. top style defaults: fill opac(0), stroke opac(1), stroke sz 1 bottom style defaults: fill opac(0), stroke opac(1), stroke sz 1.25.
path_element svg::make_path_polygon (const point_2t origin, const style s, const double r, const uint pointsn, const bool selfclosingtagp=true, const string xattr="")
 Center an polygon at this point. radius 4 is pixels to draw out from center point. pointsn is number of points to draw (8 for octogon)
path_element svg::make_path_marker (const point_2t origin, const style s, const double r, const uint pointsn, const string title, const string xattr="")
 Make a polygon marker for line graphs.
string svg::make_path_arc_circumference (const point_2t &start, const point_2t &end, const space_type r, const int arcflag=0, const int sweepflag=1)
 Make path segment between two points on a circumference of radius r. Points like: get_circumference_point_d(zero_angle_north_cw(0), r, origin)
string svg::make_path_arc_closed (const point_2t &origin, const point_2t &start, const point_2t &end, const space_type r, const int arcflag=0, const int sweepflag=0)
 Make closed path between two points and the center of a circle of radius r. Points like: get_circumference_point_d(zero_angle_north_cw(0), r, origin)
string svg::make_path_arc_closed (const point_2t &origin, const double startd, const double endd, const space_type r, const int arcflag=0, const int sweepflag=0)
 Same but with degree range arguments instead of points. NB: Assumes appropriate zero_angle_north_cw/ccw adjustments on startd/endd.
path_element svg::make_path_blob (const point_2t origin, const style s, const double size, const int numCurves=5+std::rand() % 4, const string tipstr="")
 Make blob shape.
path_element svg::make_path_center_mark (const point_2t &origin, const style styl, const int len, const int width, const string xform="", const string tipstr="")
 Plus or x tilt mark as closed path that can be filled.
path_element svg::make_path_ripple (const point_2t origin, const style s, const double length, const double amplitude, const double decay, const int cycles=3, const string tipstr="")
 Make waves.
group_element svg::make_sunburst (const point_2t origin, const style s, const space_type r=4, const uint nrays=10, const string tipstr="")
 Rectangles of various sizes rotated from center point (x,y).
path_element svg::make_lauburu (const point_2t origin, const style s, const double size, double swirlFactor=0.5, int pointsPerSwirl=8, const string tipstr="")
 Make lauburu.
group_element svg::make_hexagon_honeycomb (const point_2t origin, const double r, const uint hexn, const bool cfillp, const style styl, const string xform="")
 Center rings of hexagons at this point.
group_element svg::make_text_honeycomb (const point_2t origin, const double r, const uint hexn, const bool cfillp, const string s, const typography typo, const string xform="")
 Center rings of text in a hexagon pattern at this point.
group_element svg::make_octahedron (const point_2t, const style &, const double radius, const string tipstr="")
 Make octahedron shape (8) in 2D simulated 3D @ret group element of polygon_elements.
group_element svg::make_icosahedron (const point_2t origin, const style &s, const double radius, const string tipstr="")
 Make icosahedron shape (20) in 2D simulated 3D.
svg_element svg::display_color_qis (const auto &klrs, const area<> a, const typography &typobase)
 Make grid palette for display. NB.