hsmet  1.0.0
Datenstrukturen | Aufzählungen | Funktionen
he-svg.h-Dateireferenz

SVG-Graphiken erzeugen. Mehr ...

#include "he-conf.h"
#include <stdio.h>
Include-Abhängigkeitsdiagramm für he-svg.h:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  he_svg_style_t
 CSS-Style-Information fuer eine Klasse. Mehr ...
 
struct  he_svg_t
 Struktur zum Erzeugen einer SVG-Datei. Mehr ...
 

Aufzählungen

enum  he_svg_align_h_t { HE_SVG_ALIGN_H_LEFT = 0, HE_SVG_ALIGN_H_CENTERED, HE_SVG_ALIGN_H_RIGHT }
 Horizontale Ausrichtung. Mehr ...
 
enum  he_svg_font_weight_t {
  HE_SVG_FONT_WEIGHT_NORMAL = 0, HE_SVG_FONT_WEIGHT_BOLD, HE_SVG_FONT_WEIGHT_BOLDER, HE_SVG_FONT_WEIGHT_LIGHTER,
  HE_SVG_FONT_WEIGHT_100, HE_SVG_FONT_WEIGHT_200, HE_SVG_FONT_WEIGHT_300, HE_SVG_FONT_WEIGHT_400,
  HE_SVG_FONT_WEIGHT_500, HE_SVG_FONT_WEIGHT_600, HE_SVG_FONT_WEIGHT_700, HE_SVG_FONT_WEIGHT_800,
  HE_SVG_FONT_WEIGHT_900, HE_SVG_FONT_WEIGHT_INHERIT
}
 Schriftdicke. Mehr ...
 
enum  he_svg_unit_t { HE_SVG_UNIT_PX = 0, HE_SVG_UNIT_MM }
 Einheit fuer die Abmessungen. Mehr ...
 
enum  he_svg_linecap_t { HE_SVG_LINECAP_BUTT = 0, HE_SVG_LINECAP_ROUND, HE_SVG_LINECAP_SQUARE, HE_SVG_LINECAP_INHERIT }
 Abschluss einer Linie. Mehr ...
 
enum  he_svg_linejoin_t { HE_SVG_LINEJOIN_MITER = 0, HE_SVG_LINEJOIN_ROUND, HE_SVG_LINEJOIN_BEVEL, HE_SVG_LINEJOIN_INHERIT }
 Knickpunkte. Mehr ...
 
enum  he_svg_color_t {
  HE_SVG_COLOR_NONE = 0, HE_SVG_COLOR_ALICEBLUE, HE_SVG_COLOR_ANTIQUEWHITE, HE_SVG_COLOR_AQUA,
  HE_SVG_COLOR_AQUAMARINE, HE_SVG_COLOR_AZURE, HE_SVG_COLOR_BEIGE, HE_SVG_COLOR_BISQUE,
  HE_SVG_COLOR_BLACK, HE_SVG_COLOR_BLANCHEDALMOND, HE_SVG_COLOR_BLUE, HE_SVG_COLOR_BLUEVIOLET,
  HE_SVG_COLOR_BROWN, HE_SVG_COLOR_BURLYWOOD, HE_SVG_COLOR_CADETBLUE, HE_SVG_COLOR_CHARTREUSE,
  HE_SVG_COLOR_CHOCOLATE, HE_SVG_COLOR_CORAL, HE_SVG_COLOR_CORNFLOWERBLUE, HE_SVG_COLOR_CORNSILK,
  HE_SVG_COLOR_CRIMSON, HE_SVG_COLOR_CYAN, HE_SVG_COLOR_DARKBLUE, HE_SVG_COLOR_DARKCYAN,
  HE_SVG_COLOR_DARKGOLDENROD, HE_SVG_COLOR_DARKGRAY, HE_SVG_COLOR_DARKGREEN, HE_SVG_COLOR_DARKGREY,
  HE_SVG_COLOR_DARKKHAKI, HE_SVG_COLOR_DARKMAGENTA, HE_SVG_COLOR_DARKOLIVEGREEN, HE_SVG_COLOR_DARKORANGE,
  HE_SVG_COLOR_DARKORCHID, HE_SVG_COLOR_DARKRED, HE_SVG_COLOR_DARKSALMON, HE_SVG_COLOR_DARKSEAGREEN,
  HE_SVG_COLOR_DARKSLATEBLUE, HE_SVG_COLOR_DARKSLATEGRAY, HE_SVG_COLOR_DARKSLATEGREY, HE_SVG_COLOR_DARKTURQUOISE,
  HE_SVG_COLOR_DARKVIOLET, HE_SVG_COLOR_DEEPPINK, HE_SVG_COLOR_DEEPSKYBLUE, HE_SVG_COLOR_DIMGRAY,
  HE_SVG_COLOR_DIMGREY, HE_SVG_COLOR_DODGERBLUE, HE_SVG_COLOR_FIREBRICK, HE_SVG_COLOR_FLORALWHITE,
  HE_SVG_COLOR_FORESTGREEN, HE_SVG_COLOR_FUCHSIA, HE_SVG_COLOR_GAINSBORO, HE_SVG_COLOR_GHOSTWHITE,
  HE_SVG_COLOR_GOLD, HE_SVG_COLOR_GOLDENROD, HE_SVG_COLOR_GRAY, HE_SVG_COLOR_GREY,
  HE_SVG_COLOR_GREEN, HE_SVG_COLOR_GREENYELLOW, HE_SVG_COLOR_HONEYDEW, HE_SVG_COLOR_HOTPINK,
  HE_SVG_COLOR_INDIANRED, HE_SVG_COLOR_INDIGO, HE_SVG_COLOR_IVORY, HE_SVG_COLOR_KHAKI,
  HE_SVG_COLOR_LAVENDER, HE_SVG_COLOR_LAVENDERBLUSH, HE_SVG_COLOR_LAWNGREEN, HE_SVG_COLOR_LEMONCHIFFON,
  HE_SVG_COLOR_LIGHTBLUE, HE_SVG_COLOR_LIGHTCORAL, HE_SVG_COLOR_LIGHTCYAN, HE_SVG_COLOR_LIGHTGOLDENRODYELLOW,
  HE_SVG_COLOR_LIGHTGRAY, HE_SVG_COLOR_LIGHTGREEN, HE_SVG_COLOR_LIGHTGREY, HE_SVG_COLOR_LIGHTPING,
  HE_SVG_COLOR_LIGHTSALMON, HE_SVG_COLOR_LIGHTSEAGREEN, HE_SVG_COLOR_LIGHTSKYBLUE, HE_SVG_COLOR_LIGHTSLATEGRAY,
  HE_SVG_COLOR_LIGHTSLATEGREY, HE_SVG_COLOR_LIGHTSTEELBLUE, HE_SVG_COLOR_LIGHTYELLOW, HE_SVG_COLOR_LIME,
  HE_SVG_COLOR_LIMEGREEN, HE_SVG_COLOR_LINEN, HE_SVG_COLOR_MAGENTA, HE_SVG_COLOR_MAROON,
  HE_SVG_COLOR_MEDIUMAQUAMARINE, HE_SVG_COLOR_MEDIUMBLUE, HE_SVG_COLOR_MEDIUMORCHID, HE_SVG_COLOR_MEDIUMPURPLE,
  HE_SVG_COLOR_MEDIUMSEAGREEN, HE_SVG_COLOR_MEDIUMSLATEBLUE, HE_SVG_COLOR_MEDIUMSPRINGGREEN, HE_SVG_COLOR_MEDIUMTURQUOISE,
  HE_SVG_COLOR_MEDIUMVIOLETRED, HE_SVG_COLOR_MIDNIGHTBLUE, HE_SVG_COLOR_MINTCREAM, HE_SVG_COLOR_MISTYROSE,
  HE_SVG_COLOR_MOCCASIN, HE_SVG_COLOR_NAVAJOWHITE, HE_SVG_COLOR_NAVY, HE_SVG_COLOR_OLDLACE,
  HE_SVG_COLOR_OLIVE, HE_SVG_COLOR_OLIVEDRAB, HE_SVG_COLOR_ORANGE, HE_SVG_COLOR_ORANGERED,
  HE_SVG_COLOR_ORCHID, HE_SVG_COLOR_PALEGOLDENROD, HE_SVG_COLOR_PALEGREEN, HE_SVG_COLOR_PALETURQUOISE,
  HE_SVG_COLOR_PALEVIOLETRED, HE_SVG_COLOR_PAPAYAWHIP, HE_SVG_COLOR_PEACHPUFF, HE_SVG_COLOR_PERU,
  HE_SVG_COLOR_PINK, HE_SVG_COLOR_PLUM, HE_SVG_COLOR_POWDERBLUE, HE_SVG_COLOR_PURPLE,
  HE_SVG_COLOR_RED, HE_SVG_COLOR_ROSYBROWN, HE_SVG_COLOR_ROYALBLUE, HE_SVG_COLOR_SADDLEBROWN,
  HE_SVG_COLOR_SALMON, HE_SVG_COLOR_SANDYBROWN, HE_SVG_COLOR_SEAGREEN, HE_SVG_COLOR_SEASHELL,
  HE_SVG_COLOR_SIENNA, HE_SVG_COLOR_SILVER, HE_SVG_COLOR_SKYBLUE, HE_SVG_COLOR_SLATEBLUE,
  HE_SVG_COLOR_SLATEGRAY, HE_SVG_COLOR_SLATEGREY, HE_SVG_COLOR_SNOW, HE_SVG_COLOR_SPRINGGREEN,
  HE_SVG_COLOR_STEELBLUE, HE_SVG_COLOR_TAN, HE_SVG_COLOR_TEAL, HE_SVG_COLOR_THISTLE,
  HE_SVG_COLOR_TOMATO, HE_SVG_COLOR_TURQUOISE, HE_SVG_COLOR_VIOLET, HE_SVG_COLOR_WHEAT,
  HE_SVG_COLOR_WHITE, HE_SVG_COLOR_WHITESMOKE, HE_SVG_COLOR_YELLOW, HE_SVG_COLOR_YELLOWGREEN
}
 Farbangaben per Namen.
 

Funktionen

he_svg_thsm_et_svg_open (const char *fn, long w_mm, long h_mm, he_svg_unit_t units, double x_l, double x_r, double y_b, double y_t, size_t n_styles, int debug, int *ec)
 Neue SVG-Graphik oeffnen. Mehr ...
 
int hsm_et_svg_close (he_svg_t *svgptr, int *ec)
 Speichern der SVG-Graphik beenden, Graphik schliessen. Mehr ...
 
int hsm_et_svg_set_use_css (he_svg_t *svg, int css, int *ec)
 Nutzung von CSS-Styles erlauben oder verbieten. Mehr ...
 
void he_svg_style_init (he_svg_style_t *ptr)
 Style initialisieren. Mehr ...
 
int hsm_et_svg_style_ptr_set_font_family_name (he_svg_t *svg, he_svg_style_t *stptr, char const *name, int *ec)
 Font-Familie fuer Style festlegen. Mehr ...
 
int hsm_et_svg_style_set_font_family_name (he_svg_t *svg, size_t st, char const *name, int *ec)
 Font-Familie fuer Style festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_font_size (he_svg_t *svg, he_svg_style_t *stptr, double fs, int *ec)
 Font-Groesse fuer style festlegen. Mehr ...
 
int hsm_et_svg_style_set_font_size (he_svg_t *svg, size_t st, double fs, int *ec)
 Font-Groesse fuer Style festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_fill_color_name (he_svg_t *svg, he_svg_style_t *stptr, he_svg_color_t name, int *ec)
 Fuell-Farbe ueber Namen festlegen. Mehr ...
 
int hsm_et_svg_style_set_fill_color_name (he_svg_t *svg, size_t st, he_svg_color_t name, int *ec)
 Fuell-Farbe ueber Namen festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_fill_color_rgb (he_svg_t *svg, he_svg_style_t *stptr, int r, int g, int b, int *ec)
 Fuell-Farbe als RGB-Werte festlegen. Mehr ...
 
int hsm_et_svg_style_set_fill_color_rgb (he_svg_t *svg, size_t st, int r, int g, int b, int *ec)
 Fuell-Farbe als RGB-Werte festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_stroke_color_name (he_svg_t *svg, he_svg_style_t *stptr, he_svg_color_t name, int *ec)
 Zeichen-Farbe ueber Namen festlegen. Mehr ...
 
int hsm_et_svg_style_set_stroke_color_name (he_svg_t *svg, size_t st, he_svg_color_t name, int *ec)
 Zeichen-Farbe ueber Namen festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_stroke_color_rgb (he_svg_t *svg, he_svg_style_t *stptr, int r, int g, int b, int *ec)
 Zeichen-Farbe als RGB-Werte festlegen. Mehr ...
 
int hsm_et_svg_style_set_stroke_color_rgb (he_svg_t *svg, size_t st, int r, int g, int b, int *ec)
 Zeichen-Farbe als RGB-Werte festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_horizontal_align (he_svg_t *svg, he_svg_style_t *stptr, he_svg_align_h_t al, int *ec)
 Horizontale Textausrichtung festlegen. Mehr ...
 
int hsm_et_svg_style_set_horizontal_align (he_svg_t *svg, size_t st, he_svg_align_h_t al, int *ec)
 Horizontale Textausrichtung festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_linewidth (he_svg_t *svg, he_svg_style_t *stptr, double lw, int *ec)
 Linienbreite festlegen. Mehr ...
 
int hsm_et_svg_style_set_linewidth (he_svg_t *svg, size_t st, double lw, int *ec)
 Linienbreite festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_linecap (he_svg_t *svg, he_svg_style_t *stptr, he_svg_linecap_t lc, int *ec)
 Stil fuer Linienenden festlegen. Mehr ...
 
int hsm_et_svg_style_set_linecap (he_svg_t *svg, size_t st, he_svg_linecap_t lc, int *ec)
 Stil fuer Linienenden festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_linejoin (he_svg_t *svg, he_svg_style_t *stptr, he_svg_linejoin_t lj, int *ec)
 Stil fuer Knickpunkte festlegen. Mehr ...
 
int hsm_et_svg_style_set_linejoin (he_svg_t *svg, size_t st, he_svg_linejoin_t lj, int *ec)
 Stil fuer Knickpunkte festlegen. Mehr ...
 
int hsm_et_svg_style_ptr_set_font_weight (he_svg_t *svg, he_svg_style_t *stptr, he_svg_font_weight_t fw, int *ec)
 Schriftdicke einstellen. Mehr ...
 
int hsm_et_svg_style_set_font_weight (he_svg_t *svg, size_t st, he_svg_font_weight_t fw, int *ec)
 Schriftdicke einstellen. Mehr ...
 
int hsm_et_svg_draw_rectangle (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x1, double y1, double x2, double y2, int *ec)
 Rechteck zeichnen. Mehr ...
 
int hsm_et_svg_draw_line (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x1, double y1, double x2, double y2, int *ec)
 Linie zeichnen. Mehr ...
 
int hsm_et_svg_draw_text (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x, double y, double degrees, char const *str, int me, int *ec)
 Text setzen. Mehr ...
 
int hsm_et_svg_draw_multi_text_begin (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x, double y, double degrees, int *ec)
 Text aus mehreren Teilen eroeffnen. Mehr ...
 
int hsm_et_svg_draw_multi_text_add (he_svg_t *svg, char const *str, int me, int *ec)
 Text-Teil zu mehrteiligem Text hinzufuegen. Mehr ...
 
int hsm_et_svg_draw_multi_text_end (he_svg_t *svg, int *ec)
 Mehrteiligen Text beenden. Mehr ...
 
int hsm_et_svg_draw_circle (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x, double y, double r, int *ec)
 Kreis zeichnen. Mehr ...
 
int hsm_et_svg_draw_ellipse (he_svg_t *svg, size_t st, he_svg_style_t *ast, double x, double y, double rx, double ry, double degrees, int *ec)
 Ellipse zeichnen. Mehr ...
 
int hsm_et_svg_draw_polyline_begin (he_svg_t *svg, size_t st, he_svg_style_t *ast, int *ec)
 Zeichnen einer Polylinie beginnen. Mehr ...
 
int hsm_et_svg_draw_polyline_add (he_svg_t *svg, double x, double y, int *ec)
 Punkte zu einer mit hsm_et_svg_draw_polyline_begin() begonnenen Polylinie hinzufuegen. Mehr ...
 
int hsm_et_svg_draw_polyline_end (he_svg_t *svg, int *ec)
 Zeichnen einer mit hsm_et_svg_draw_polyline_begin() begonnenen Polylinie beenden. Mehr ...
 
int hsm_et_svg_draw_polygon_begin (he_svg_t *svg, size_t st, he_svg_style_t *ast, int *ec)
 Zeichnen eines Polygon beginnen. Mehr ...
 
int hsm_et_svg_draw_polygon_add (he_svg_t *svg, double x, double y, int *ec)
 Punkte zu einem mit hsm_et_svg_draw_polygon_begin() begonnenen Polygon hinzufuegen. Mehr ...
 
int hsm_et_svg_draw_polygon_end (he_svg_t *svg, int *ec)
 Zeichnen eines mit hsm_et_svg_draw_polygon_begin() begonnenen Polygon beenden. Mehr ...
 
int hsm_et_svg_draw_path_begin (he_svg_t *svg, size_t st, he_svg_style_t *ast, int *ec)
 Zeichnen eines zusammengesetzten Pfades beginnen. Mehr ...
 
int hsm_et_svg_draw_path_add_moveto (he_svg_t *svg, double x, double y, int *ec)
 Moveto-Operation fuer Start eines Pfad-Segmentes. Mehr ...
 
int hsm_et_svg_draw_path_add_lineto (he_svg_t *svg, double x, double y, int *ec)
 Linie von aktuellem Punkt zu neuem Punkt ziehen. Mehr ...
 
int hsm_et_svg_draw_path_add_curveto (he_svg_t *svg, double x1, double y1, double x2, double y2, double x, double y, int *ec)
 Kurvensegment von aktuellem Punkt zu Endpunkt (x,y) unter Angabe von zwei Kontrollpunkten P1(x1,y1) und P2(x2,y2) ziehen. Mehr ...
 
int hsm_et_svg_draw_path_add_closepath (he_svg_t *svg, int *ec)
 Pfad(-Segment) schliessen, um geschlossenen Kurvenzug zu erzeugen. Mehr ...
 
int hsm_et_svg_draw_path_end (he_svg_t *svg, int *ec)
 Zeichnen eines Pfades beenden, dies ist fuer jeden mit hsm_et_svg_draw_path_begin() begonnenen Pfad erforderlich. Mehr ...
 
int hsm_et_svg_comment_open (he_svg_t *svg, int *ec)
 Kommentar oeffnen. Mehr ...
 
int hsm_et_svg_comment_text (he_svg_t *svg, char const *str, int *ec)
 Text zu Kommentar hinzufuegen. Mehr ...
 
int hsm_et_svg_comment_close (he_svg_t *svg, int *ec)
 Kommentar schliessen, der mit hsm_et_svg_comment_open() geoeffnet wurde. Mehr ...
 

Ausführliche Beschreibung

SVG-Graphiken erzeugen.

Die Graphik wird mit der Funktion hsm_et_svg_open() geoeffnet, dabei wird die angegebene Datei zum Schreiben geoeffnet.

Das Styling der gezeichneten Objekte erfolgt im Normalfall ueber CSS-Klassen. Hierfuer muessen die entsprechenden Stile eingerichtet werden, bevor mit dem eigentlichen Zeichnen begonnen wird. Die Anzahl der benutzten Stile wird der Funktion hsm_et_svg_open() als Parameter n_styles angegeben. Der Index fuer die Stile laeuft von 0 bis n_styles-1. Mit den hsm_et_svg_style_set_...()-Funktionen werden Stil-Eigenschaften wie Zeichen- und Fuellfarbe, Linienbreite, Font-Familien, Schriftgroessen... gesetzt.

Fuer geschlossene Pfade sieht der SVG-Standard ein Fuellen mit Schwarz vor, wenn nichts anderes angegeben ist. Stile, die fuer ungefuellte geschlossene Pfade verwendet werden, muessen mit hsm_et_svg_style_set_fill_color_name(...,...,HE_SVG_COLOR_NONE,...) eingerichtet werden.

Nachdem die Einrichtung der Stile erfolgt ist, kann mit den hsm_et_svg_draw_...()-Funktionen gezeichnet werden.

Das Nutzer-Koordinatensystem fuer die Zeichenfunktionen folgt den ueblichen mathematischen Konventionen: x-Werte wachsen von links nach rechts, y-Werte wachsen von unten nach oben, Winkelangaben erfolgen entgegen dem Uhrzeigersinn. Die Umrechnung in das SVG-Koordinatensystem, bei dem y-Werte von oben nach unten wachsen, erfolgt modulintern.

Fuer Polylinien muss zunaechst hsm_et_svg_draw_polyline_begin() aufgerufen werden. Danach koennen durch mehrfachen Aufruf von hsm_et_svg_draw_polyline_add() die Punkte angegeben werden. Jede mit hsm_et_svg_draw_polyline_begin() begonnene Polylinie muss mit hsm_et_svg_draw_polyline_end() beendet werden.

Fuer Polygone und allgemeine Pfade ist das Verfahren ähnlich.

Für allgemeine Pfade werden nicht Punkte sondern Pfad-Segmente angegeben. Die erste Anweisung nach hsm_et_svg_draw_path_begin() sollte hsm_et_svg_draw_path_add_moveto() sein. Daran koennen sich ein oder mehrere hsm_et_svg_draw_path_add_lineto(), hsm_et_svg_draw_path_add_curveto() anschliessen. Soll ein geschlossener Pfad erzeugt werden, wird nach dem letzten Pfad-Stueck hsm_et_svg_draw_path_add_closepath() benutzt. Jeder mit hsm_et_svg_draw_path_begin() begonnene Pfad muss mit hsm_et_svg_draw_path_end() beendet werden.

Die Funktion hsm_et_svg_close() muss aufgerufen werden, um die Datei zu schliessen und die im Laufe der Benutzung dynamisch angeforderten Resourcen wieder freizugeben.

Dokumentation der Aufzählungstypen

◆ he_svg_align_h_t

Horizontale Ausrichtung.

Aufzählungswerte
HE_SVG_ALIGN_H_LEFT 

Linksbuendig.

HE_SVG_ALIGN_H_CENTERED 

Zentriert.

HE_SVG_ALIGN_H_RIGHT 

Rechtsbuendig.

◆ he_svg_font_weight_t

Schriftdicke.

Aufzählungswerte
HE_SVG_FONT_WEIGHT_NORMAL 

Normal.

HE_SVG_FONT_WEIGHT_BOLD 

Fett.

HE_SVG_FONT_WEIGHT_BOLDER 

Noch fetter.

HE_SVG_FONT_WEIGHT_LIGHTER 

Dünner.

HE_SVG_FONT_WEIGHT_100 
HE_SVG_FONT_WEIGHT_200 
HE_SVG_FONT_WEIGHT_300 
HE_SVG_FONT_WEIGHT_400 
HE_SVG_FONT_WEIGHT_500 
HE_SVG_FONT_WEIGHT_600 
HE_SVG_FONT_WEIGHT_700 
HE_SVG_FONT_WEIGHT_800 
HE_SVG_FONT_WEIGHT_900 
HE_SVG_FONT_WEIGHT_INHERIT 

Geerbt.

◆ he_svg_linecap_t

Abschluss einer Linie.

Aufzählungswerte
HE_SVG_LINECAP_BUTT 

Butted linecap.

HE_SVG_LINECAP_ROUND 

Rounded linecap.

HE_SVG_LINECAP_SQUARE 

Square linecap.

HE_SVG_LINECAP_INHERIT 

Inherit linecap.

◆ he_svg_linejoin_t

Knickpunkte.

Aufzählungswerte
HE_SVG_LINEJOIN_MITER 

Mitered line join.

HE_SVG_LINEJOIN_ROUND 

Rounded line join.

HE_SVG_LINEJOIN_BEVEL 

Beveled line join.

HE_SVG_LINEJOIN_INHERIT 

Inherit line join.

◆ he_svg_unit_t

Einheit fuer die Abmessungen.

Aufzählungswerte
HE_SVG_UNIT_PX 

Screen pixels.

HE_SVG_UNIT_MM 

Millimeters.

Dokumentation der Funktionen

◆ he_svg_style_init()

void he_svg_style_init ( he_svg_style_t ptr)

Style initialisieren.

Parameter
ptrDer zu initialisierende Style.

◆ hsm_et_svg_close()

int hsm_et_svg_close ( he_svg_t svgptr,
int *  ec 
)

Speichern der SVG-Graphik beenden, Graphik schliessen.

Parameter
svgptrZu schliessende Graphik.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_comment_close()

int hsm_et_svg_comment_close ( he_svg_t svg,
int *  ec 
)

Kommentar schliessen, der mit hsm_et_svg_comment_open() geoeffnet wurde.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_comment_open()

int hsm_et_svg_comment_open ( he_svg_t svg,
int *  ec 
)

Kommentar oeffnen.

Jeder geoeffnete Kommentar muss mit hsm_et_svg_comment_close() wieder geschlossen werden, nachdem mit hsm_et_svg_comment_text() der Text in den Kommentar geschrieben wurde.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_comment_text()

int hsm_et_svg_comment_text ( he_svg_t svg,
char const *  str,
int *  ec 
)

Text zu Kommentar hinzufuegen.

Der Kommentar muss vorher mit hsm_et_svg_comment_open() geoeffnet worden sein. Die Funktion hsm_et_svg_comment_text() kann mehrfach aufgerufen werden, um eine Reihe von Textbausteinen zu kombinieren. Die Texte duerfen nur die in SVG-Kommentaren zulaessigen Zeichen bzw. Textbestandteile enthalten, die Funktion prueft dies nicht nach.

Parameter
svgSVG-Datei.
strZu schreibender Text.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_circle()

int hsm_et_svg_draw_circle ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x,
double  y,
double  r,
int *  ec 
)

Kreis zeichnen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
xX-Koordinate Mittelpunkt.
yY-Koordinate Mittelpunkt.
rRadius.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_ellipse()

int hsm_et_svg_draw_ellipse ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x,
double  y,
double  rx,
double  ry,
double  degrees,
int *  ec 
)

Ellipse zeichnen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
xX-Koordinate Mittelpunkt.
yY-Koordinate Mittelpunkt.
rxRadius in x-Richtung.
ryRadius in y-Richtung.
degreesDrehwinkel in Grad entgegen Uhrzeigersinn.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_line()

int hsm_et_svg_draw_line ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x1,
double  y1,
double  x2,
double  y2,
int *  ec 
)

Linie zeichnen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
x1X-Koordinate des ersten Punktes.
y1Y-Koordinate des ersten Punktes.
x2X-Koordinate des zweiten Punktes.
y2Y-Koordinate des zweiten Punktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler

◆ hsm_et_svg_draw_multi_text_add()

int hsm_et_svg_draw_multi_text_add ( he_svg_t svg,
char const *  str,
int  me,
int *  ec 
)

Text-Teil zu mehrteiligem Text hinzufuegen.

Parameter
svgSVG-Datei.
strZu zeichnender Text.
meFlag: Encoding notwendig (im Zweifelsfall 1).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_multi_text_begin()

int hsm_et_svg_draw_multi_text_begin ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x,
double  y,
double  degrees,
int *  ec 
)

Text aus mehreren Teilen eroeffnen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
xX-Koordinate des Bezugspunktes.
yY-Koordinate des Bezugspunktes.
degreesDrehwinkel in Grad entgegen Uhrzeigersinn.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_multi_text_end()

int hsm_et_svg_draw_multi_text_end ( he_svg_t svg,
int *  ec 
)

Mehrteiligen Text beenden.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_path_add_closepath()

int hsm_et_svg_draw_path_add_closepath ( he_svg_t svg,
int *  ec 
)

Pfad(-Segment) schliessen, um geschlossenen Kurvenzug zu erzeugen.

Es wird eine gerade Linie vom aktuellen Punkt zum Anfangspunkt des Pfad(-Segement)es gezogen. Der Anfangspunkt wird wieder aktueller Punkt. Diese Funktion darf nur zwischen einem hsm_et_svg_draw_path_begin() und dem zugehörigen hsm_et_svg_draw_path_end() benutzt werden, nachdem bereits hsm_et_svg_draw_path_add_moveto() und hsm_et_svg_draw_path_add_lineto() oder hsm_et_svg_draw_path_add_curveto() benutzt wurde.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_path_add_curveto()

int hsm_et_svg_draw_path_add_curveto ( he_svg_t svg,
double  x1,
double  y1,
double  x2,
double  y2,
double  x,
double  y,
int *  ec 
)

Kurvensegment von aktuellem Punkt zu Endpunkt (x,y) unter Angabe von zwei Kontrollpunkten P1(x1,y1) und P2(x2,y2) ziehen.

Der Endpunkt wird neuer aktueller Punkt fuer die naechsten Operationen. Diese Funktion darf nur zwischen einem hsm_et_svg_draw_path_begin() und dem zugehörigen hsm_et_svg_draw_path_end() benutzt werden.

Parameter
svgSVG-Datei.
x1X-Koordinate des Kontrollpunktes 1.
y1Y-Koordinate des Kontrollpunktes 1.
x2X-Koordinate des Kontrollpunktes 2.
y2Y-Koordinate des Kontrollpunktes 2.
xX-Koordinate des Endpunktes.
yY-Koordinate des Endpunktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Erfolg.

◆ hsm_et_svg_draw_path_add_lineto()

int hsm_et_svg_draw_path_add_lineto ( he_svg_t svg,
double  x,
double  y,
int *  ec 
)

Linie von aktuellem Punkt zu neuem Punkt ziehen.

Der Endpunkt wird neuer aktueller Punkt fuer die naechsten Operationen. Diese Funktion darf nur zwischen einem hsm_et_svg_draw_path_begin() und dem zugehörigen hsm_et_svg_draw_path_end() benutzt werden.

Parameter
svgSVG-Datei.
xX-Koordinate des Endpunktes.
yY-Koordinate des Endpunktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_path_add_moveto()

int hsm_et_svg_draw_path_add_moveto ( he_svg_t svg,
double  x,
double  y,
int *  ec 
)

Moveto-Operation fuer Start eines Pfad-Segmentes.

Der angegebene Punkt wird aktueller Punkt. Diese Funktion darf nur zwischen einem hsm_et_svg_draw_path_begin() und dem zugehörigen hsm_et_svg_draw_path_end() benutzt werden.

Parameter
svgSVG-Datei.
xNeue x-Position.
yNeue y-Position.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_path_begin()

int hsm_et_svg_draw_path_begin ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
int *  ec 
)

Zeichnen eines zusammengesetzten Pfades beginnen.

Nach dieser Operation kann mit hsm_et_svg_draw_path_add_moveto() ein Anfangspunkt festgelegt werden. Daran können sich mehrere hsm_et_svg_draw_path_add_lineto() oder hsm_et_svg_draw_path_add_curveto() und optional ein hsm_et_svg_draw_path_add_closepath() anschliessen. Jeder mit hsm_et_svg_draw_path_begin() begonnene Pfad muss mit hsm_et_svg_draw_path_end() beendet werden.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_path_end()

int hsm_et_svg_draw_path_end ( he_svg_t svg,
int *  ec 
)

Zeichnen eines Pfades beenden, dies ist fuer jeden mit hsm_et_svg_draw_path_begin() begonnenen Pfad erforderlich.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polygon_add()

int hsm_et_svg_draw_polygon_add ( he_svg_t svg,
double  x,
double  y,
int *  ec 
)

Punkte zu einem mit hsm_et_svg_draw_polygon_begin() begonnenen Polygon hinzufuegen.

Parameter
svgSVG-Datei.
xX-Koordinate des Punktes.
yY-Koordiante des Punktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Efolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polygon_begin()

int hsm_et_svg_draw_polygon_begin ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
int *  ec 
)

Zeichnen eines Polygon beginnen.

Die Punkte werden dann durch mehrfache Aufrufe von hsm_et_svg_draw_polygon_add() hinzugefuegt, danach muss mit hsm_et_svg_draw_polygon_end() das Polygon beendet werden.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polygon_end()

int hsm_et_svg_draw_polygon_end ( he_svg_t svg,
int *  ec 
)

Zeichnen eines mit hsm_et_svg_draw_polygon_begin() begonnenen Polygon beenden.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polyline_add()

int hsm_et_svg_draw_polyline_add ( he_svg_t svg,
double  x,
double  y,
int *  ec 
)

Punkte zu einer mit hsm_et_svg_draw_polyline_begin() begonnenen Polylinie hinzufuegen.

Parameter
svgSVG-Datei.
xX-Koordinate des Punktes.
yY-Koordiante des Punktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Efolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polyline_begin()

int hsm_et_svg_draw_polyline_begin ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
int *  ec 
)

Zeichnen einer Polylinie beginnen.

Die Punkte werden dann durch mehrfache Aufrufe von hsm_et_svg_draw_polyline_add() hinzugefuegt, danach muss mit hsm_et_svg_draw_polyline_end() die Polylinie beendet werden.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_polyline_end()

int hsm_et_svg_draw_polyline_end ( he_svg_t svg,
int *  ec 
)

Zeichnen einer mit hsm_et_svg_draw_polyline_begin() begonnenen Polylinie beenden.

Parameter
svgSVG-Datei.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_draw_rectangle()

int hsm_et_svg_draw_rectangle ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x1,
double  y1,
double  x2,
double  y2,
int *  ec 
)

Rechteck zeichnen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
x1X-Koordinate des ersten Punktes.
y1Y-Koordinate des ersten Punktes.
x2X-Koordinate des zweiten Punktes.
y2Y-Koordinate des zweiten Punktes.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler

◆ hsm_et_svg_draw_text()

int hsm_et_svg_draw_text ( he_svg_t svg,
size_t  st,
he_svg_style_t ast,
double  x,
double  y,
double  degrees,
char const *  str,
int  me,
int *  ec 
)

Text setzen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
astZusaetzlicher Style, darf NULL sein (empfohlen).
xX-Koordinate des Bezugspunktes.
yY-Koordinate des Bezugspunktes.
degreesDrehwinkel in Grad entgegen Uhrzeigersinn.
strZu zeichnender Text.
meFlag: Encoding notwendig (im Zweifelsfall 1).
ecAdresse einer Fehlercode-Variable, darf NULL sein.

◆ hsm_et_svg_open()

he_svg_t* hsm_et_svg_open ( const char *  fn,
long  w_mm,
long  h_mm,
he_svg_unit_t  units,
double  x_l,
double  x_r,
double  y_b,
double  y_t,
size_t  n_styles,
int  debug,
int *  ec 
)

Neue SVG-Graphik oeffnen.

Bei Erfolg (gueltiger Zeiger als Rueckgabewert) muss die Graphik mit hsm_et_svg_close() wieder geschlossen werden.

Parameter
fnDateiname fuer die zu schreibende SVG-Datei.
w_mmBreite der Graphik in px oder mm.
h_mmHoehe der Graphik in px oder mm.
unitsEinheitenangabe fuer Breite und Hoehe:
  • HE_SVG_UNIT_PX (px) oder
  • HE_SVG_UNIT_MM (mm).
x_lx-Koordinate am linken Bildrand (Nutzer-Koordinaten).
x_rx-Koordinate am rechten Bildrand (Nutzer-Koordinaten).
y_by-Koordinate am unteren Bildrand (Nutzer-Koordinaten).
y_ty-Koordinate am oberen Bildrand (Nutzer-Koordinaten).
n_stylesAnzahl CSS-Style-Klassen.
debugFlag: Debug-Ausschriften (Kommentare) produzieren.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
Gueltiger Zeiger bei Erfolg, NULL bei Fehler.

◆ hsm_et_svg_set_use_css()

int hsm_et_svg_set_use_css ( he_svg_t svg,
int  css,
int *  ec 
)

Nutzung von CSS-Styles erlauben oder verbieten.

Parameter
svgSVG-Datei.
cssFlag: 1 = CSS erlaubt, 0 = CSS nicht erlaubt.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_fill_color_name()

int hsm_et_svg_style_ptr_set_fill_color_name ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_color_t  name,
int *  ec 
)

Fuell-Farbe ueber Namen festlegen.

Die Fuell-Farbe wird auch fuer Text verwendet.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
nameName der Farbe:
  • HE_SVG_COLOR_NONE,
  • HE_SVG_COLOR_ALICEBLUE ...
  • HE_SVG_COLOR_YELLOWGREEN.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_fill_color_rgb()

int hsm_et_svg_style_ptr_set_fill_color_rgb ( he_svg_t svg,
he_svg_style_t stptr,
int  r,
int  g,
int  b,
int *  ec 
)

Fuell-Farbe als RGB-Werte festlegen.

Die Fuell-Farbe wird auch fuer Text verwendet.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
rRot-Anteil (0 - 255).
gGruen-Anteil (0 - 255).
bBlau-Anteil (0 - 255).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_font_family_name()

int hsm_et_svg_style_ptr_set_font_family_name ( he_svg_t svg,
he_svg_style_t stptr,
char const *  name,
int *  ec 
)

Font-Familie fuer Style festlegen.

Parameter
svgSVG-Datei (hier nicht benutzt).
stptrZu bearbeitender Style.
nameFont-Name(n).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_font_size()

int hsm_et_svg_style_ptr_set_font_size ( he_svg_t svg,
he_svg_style_t stptr,
double  fs,
int *  ec 
)

Font-Groesse fuer style festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
fsFont-Groesse in Nutzerkoordinaten.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_font_weight()

int hsm_et_svg_style_ptr_set_font_weight ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_font_weight_t  fw,
int *  ec 
)

Schriftdicke einstellen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
fwFont-Gewicht:
  • HE_SVG_FONT_WEIGHT_NORMAL (normal),
  • HE_SVG_FONT_WEIGHT_BOLD (fett),
  • HE_SVG_FONT_WEIGHT_BOLDER (noch fetter),
  • HE_SVG_FONT_WEIGHT_LIGHTER (duenner)
  • HE_SVG_FONT_WEIGHT_100 (Zahlenwert 100),
  • HE_SVG_FONT_WEIGHT_200 (Zahlenwert 200),
  • HE_SVG_FONT_WEIGHT_300 (Zahlenwert 300),
  • HE_SVG_FONT_WEIGHT_400 (Zahlenwert 400 - normal),
  • HE_SVG_FONT_WEIGHT_500 (Zahlenwert 500 - fetter),
  • HE_SVG_FONT_WEIGHT_600 (Zahlenwert 600),
  • HE_SVG_FONT_WEIGHT_700 (Zahlenwert 700),
  • HE_SVG_FONT_WEIGHT_800 (Zahlenwert 800),
  • HE_SVG_FONT_WEIGHT_900 (Zahlenwert 900) oder
  • HE_SVG_FONT_WEIGHT_INHERIT (erben von Umgebung).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_horizontal_align()

int hsm_et_svg_style_ptr_set_horizontal_align ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_align_h_t  al,
int *  ec 
)

Horizontale Textausrichtung festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
alTextausrichtung:
  • HE_SVG_ALIGN_H_LEFT
  • HE_SVG_ALIGN_H_CENTERED oder
  • HE_SVG_ALIGN_H_RIGHT.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_linecap()

int hsm_et_svg_style_ptr_set_linecap ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_linecap_t  lc,
int *  ec 
)

Stil fuer Linienenden festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
lcArt der Linienenden:
  • HE_SVG_LINECAP_INHERIT (erben von Umgebung),
  • HE_SVG_LINECAP_BUTT (Linie endet abrupt am Endpunkt),
  • HE_SVG_LINECAP_ROUND (abgerundetes Linienende) oder
  • HE_SVG_LINECAP_SQUARE (halbes Quadrat wird hinzugefuegt).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_linejoin()

int hsm_et_svg_style_ptr_set_linejoin ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_linejoin_t  lj,
int *  ec 
)

Stil fuer Knickpunkte festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
ljArt der Knickpunkte:
  • HE_SVG_LINEJOIN_INHERIT (erben von Umgebung),
  • HE_SVG_LINEJOIN_MITER (Linien verlaengert),
  • HE_SVG_LINEJOIN_ROUND (Aussenknick abgerunden) oder
  • HE_SVG_LINEJOIN_BEVEL (Aussenknick eingekuerzt).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_linewidth()

int hsm_et_svg_style_ptr_set_linewidth ( he_svg_t svg,
he_svg_style_t stptr,
double  lw,
int *  ec 
)

Linienbreite festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
lwNicht-negative Linienbreite im Nutzer-Koordinatensystem.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_stroke_color_name()

int hsm_et_svg_style_ptr_set_stroke_color_name ( he_svg_t svg,
he_svg_style_t stptr,
he_svg_color_t  name,
int *  ec 
)

Zeichen-Farbe ueber Namen festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
nameName der Farbe:
  • HE_SVG_COLOR_NONE,
  • HE_SVG_COLOR_ALICEBLUE ...
  • HE_SVG_COLOR_YELLOWGREEN.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_ptr_set_stroke_color_rgb()

int hsm_et_svg_style_ptr_set_stroke_color_rgb ( he_svg_t svg,
he_svg_style_t stptr,
int  r,
int  g,
int  b,
int *  ec 
)

Zeichen-Farbe als RGB-Werte festlegen.

Parameter
svgSVG-Datei.
stptrZu bearbeitender Style.
rRot-Anteil (0 - 255).
gGruen-Anteil (0 - 255).
bBlau-Anteil (0 - 255).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_fill_color_name()

int hsm_et_svg_style_set_fill_color_name ( he_svg_t svg,
size_t  st,
he_svg_color_t  name,
int *  ec 
)

Fuell-Farbe ueber Namen festlegen.

Die Fuell-Farbe wird auch fuer Text verwendet.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
nameName der Farbe:
  • HE_SVG_COLOR_NONE,
  • HE_SVG_COLOR_ALICEBLUE ...
  • HE_SVG_COLOR_YELLOWGREEN.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_fill_color_rgb()

int hsm_et_svg_style_set_fill_color_rgb ( he_svg_t svg,
size_t  st,
int  r,
int  g,
int  b,
int *  ec 
)

Fuell-Farbe als RGB-Werte festlegen.

Die Fuell-Farbe wird auch fuer Text verwendet.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
rRot-Anteil (0 - 255).
gGruen-Anteil (0 - 255).
bBlau-Anteil (0 - 255).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_font_family_name()

int hsm_et_svg_style_set_font_family_name ( he_svg_t svg,
size_t  st,
char const *  name,
int *  ec 
)

Font-Familie fuer Style festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
nameFont-Name(n).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_font_size()

int hsm_et_svg_style_set_font_size ( he_svg_t svg,
size_t  st,
double  fs,
int *  ec 
)

Font-Groesse fuer Style festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
fsSchriftgroesse im Nutzer-Koordinatensystem.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_font_weight()

int hsm_et_svg_style_set_font_weight ( he_svg_t svg,
size_t  st,
he_svg_font_weight_t  fw,
int *  ec 
)

Schriftdicke einstellen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
fwFont-Gewicht:
  • HE_SVG_FONT_WEIGHT_NORMAL (normal),
  • HE_SVG_FONT_WEIGHT_BOLD (fett),
  • HE_SVG_FONT_WEIGHT_BOLDER (noch fetter),
  • HE_SVG_FONT_WEIGHT_LIGHTER (duenner)
  • HE_SVG_FONT_WEIGHT_100 (Zahlenwert 100),
  • HE_SVG_FONT_WEIGHT_200 (Zahlenwert 200),
  • HE_SVG_FONT_WEIGHT_300 (Zahlenwert 300),
  • HE_SVG_FONT_WEIGHT_400 (Zahlenwert 400 - normal),
  • HE_SVG_FONT_WEIGHT_500 (Zahlenwert 500 - fetter),
  • HE_SVG_FONT_WEIGHT_600 (Zahlenwert 600),
  • HE_SVG_FONT_WEIGHT_700 (Zahlenwert 700),
  • HE_SVG_FONT_WEIGHT_800 (Zahlenwert 800),
  • HE_SVG_FONT_WEIGHT_900 (Zahlenwert 900) oder
  • HE_SVG_FONT_WEIGHT_INHERIT (erben von Umgebung).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_horizontal_align()

int hsm_et_svg_style_set_horizontal_align ( he_svg_t svg,
size_t  st,
he_svg_align_h_t  al,
int *  ec 
)

Horizontale Textausrichtung festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
alTextausrichtung:
  • HE_SVG_ALIGN_H_LEFT
  • HE_SVG_ALIGN_H_CENTERED oder
  • HE_SVG_ALIGN_H_RIGHT.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_linecap()

int hsm_et_svg_style_set_linecap ( he_svg_t svg,
size_t  st,
he_svg_linecap_t  lc,
int *  ec 
)

Stil fuer Linienenden festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
lcArt der Linienenden:
  • HE_SVG_LINECAP_INHERIT (erben von Umgebung),
  • HE_SVG_LINECAP_BUTT (Linie endet abrupt am Endpunkt),
  • HE_SVG_LINECAP_ROUND (abgerundetes Linienende) oder
  • HE_SVG_LINECAP_SQUARE (halbes Quadrat wird hinzugefuegt).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_linejoin()

int hsm_et_svg_style_set_linejoin ( he_svg_t svg,
size_t  st,
he_svg_linejoin_t  lj,
int *  ec 
)

Stil fuer Knickpunkte festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
ljArt der Knickpunkte:
  • HE_SVG_LINEJOIN_INHERIT (erben von Umgebung),
  • HE_SVG_LINEJOIN_MITER (Linien verlaengert),
  • HE_SVG_LINEJOIN_ROUND (Aussenknick abgerunden) oder
  • HE_SVG_LINEJOIN_BEVEL (Aussenknick eingekuerzt).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_linewidth()

int hsm_et_svg_style_set_linewidth ( he_svg_t svg,
size_t  st,
double  lw,
int *  ec 
)

Linienbreite festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
lwNicht-negative Linienbreite im Nutzer-Koordinatensystem.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_stroke_color_name()

int hsm_et_svg_style_set_stroke_color_name ( he_svg_t svg,
size_t  st,
he_svg_color_t  name,
int *  ec 
)

Zeichen-Farbe ueber Namen festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
nameName der Farbe:
  • HE_SVG_COLOR_NONE,
  • HE_SVG_COLOR_ALICEBLUE ...
  • HE_SVG_COLOR_YELLOWGREEN.
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.

◆ hsm_et_svg_style_set_stroke_color_rgb()

int hsm_et_svg_style_set_stroke_color_rgb ( he_svg_t svg,
size_t  st,
int  r,
int  g,
int  b,
int *  ec 
)

Zeichen-Farbe als RGB-Werte festlegen.

Parameter
svgSVG-Datei.
stIndex-Nummer fuer Style.
rRot-Anteil (0 - 255).
gGruen-Anteil (0 - 255).
bBlau-Anteil (0 - 255).
ecAdresse einer Fehlercode-Variable, darf NULL sein.
Rückgabe
1 bei Erfolg, 0 bei Fehler.