8 #ifndef HE_SVG_H_INCLUDED 10 #define HE_SVG_H_INCLUDED 1 138 HE_SVG_COLOR_NONE = 0,
139 HE_SVG_COLOR_ALICEBLUE ,
140 HE_SVG_COLOR_ANTIQUEWHITE ,
142 HE_SVG_COLOR_AQUAMARINE ,
145 HE_SVG_COLOR_BISQUE ,
147 HE_SVG_COLOR_BLANCHEDALMOND ,
149 HE_SVG_COLOR_BLUEVIOLET ,
151 HE_SVG_COLOR_BURLYWOOD ,
152 HE_SVG_COLOR_CADETBLUE ,
153 HE_SVG_COLOR_CHARTREUSE ,
154 HE_SVG_COLOR_CHOCOLATE ,
156 HE_SVG_COLOR_CORNFLOWERBLUE ,
157 HE_SVG_COLOR_CORNSILK ,
158 HE_SVG_COLOR_CRIMSON ,
160 HE_SVG_COLOR_DARKBLUE ,
161 HE_SVG_COLOR_DARKCYAN ,
162 HE_SVG_COLOR_DARKGOLDENROD ,
163 HE_SVG_COLOR_DARKGRAY ,
164 HE_SVG_COLOR_DARKGREEN ,
165 HE_SVG_COLOR_DARKGREY ,
166 HE_SVG_COLOR_DARKKHAKI ,
167 HE_SVG_COLOR_DARKMAGENTA ,
168 HE_SVG_COLOR_DARKOLIVEGREEN ,
169 HE_SVG_COLOR_DARKORANGE ,
170 HE_SVG_COLOR_DARKORCHID ,
171 HE_SVG_COLOR_DARKRED ,
172 HE_SVG_COLOR_DARKSALMON ,
173 HE_SVG_COLOR_DARKSEAGREEN ,
174 HE_SVG_COLOR_DARKSLATEBLUE ,
175 HE_SVG_COLOR_DARKSLATEGRAY ,
176 HE_SVG_COLOR_DARKSLATEGREY ,
177 HE_SVG_COLOR_DARKTURQUOISE ,
178 HE_SVG_COLOR_DARKVIOLET ,
179 HE_SVG_COLOR_DEEPPINK ,
180 HE_SVG_COLOR_DEEPSKYBLUE ,
181 HE_SVG_COLOR_DIMGRAY ,
182 HE_SVG_COLOR_DIMGREY ,
183 HE_SVG_COLOR_DODGERBLUE ,
184 HE_SVG_COLOR_FIREBRICK ,
185 HE_SVG_COLOR_FLORALWHITE ,
186 HE_SVG_COLOR_FORESTGREEN ,
187 HE_SVG_COLOR_FUCHSIA ,
188 HE_SVG_COLOR_GAINSBORO ,
189 HE_SVG_COLOR_GHOSTWHITE ,
191 HE_SVG_COLOR_GOLDENROD ,
195 HE_SVG_COLOR_GREENYELLOW ,
196 HE_SVG_COLOR_HONEYDEW ,
197 HE_SVG_COLOR_HOTPINK ,
198 HE_SVG_COLOR_INDIANRED ,
199 HE_SVG_COLOR_INDIGO ,
202 HE_SVG_COLOR_LAVENDER ,
203 HE_SVG_COLOR_LAVENDERBLUSH ,
204 HE_SVG_COLOR_LAWNGREEN ,
205 HE_SVG_COLOR_LEMONCHIFFON ,
206 HE_SVG_COLOR_LIGHTBLUE ,
207 HE_SVG_COLOR_LIGHTCORAL ,
208 HE_SVG_COLOR_LIGHTCYAN ,
209 HE_SVG_COLOR_LIGHTGOLDENRODYELLOW ,
210 HE_SVG_COLOR_LIGHTGRAY ,
211 HE_SVG_COLOR_LIGHTGREEN ,
212 HE_SVG_COLOR_LIGHTGREY ,
213 HE_SVG_COLOR_LIGHTPING ,
214 HE_SVG_COLOR_LIGHTSALMON ,
215 HE_SVG_COLOR_LIGHTSEAGREEN ,
216 HE_SVG_COLOR_LIGHTSKYBLUE ,
217 HE_SVG_COLOR_LIGHTSLATEGRAY ,
218 HE_SVG_COLOR_LIGHTSLATEGREY ,
219 HE_SVG_COLOR_LIGHTSTEELBLUE ,
220 HE_SVG_COLOR_LIGHTYELLOW ,
222 HE_SVG_COLOR_LIMEGREEN ,
224 HE_SVG_COLOR_MAGENTA ,
225 HE_SVG_COLOR_MAROON ,
226 HE_SVG_COLOR_MEDIUMAQUAMARINE ,
227 HE_SVG_COLOR_MEDIUMBLUE ,
228 HE_SVG_COLOR_MEDIUMORCHID ,
229 HE_SVG_COLOR_MEDIUMPURPLE ,
230 HE_SVG_COLOR_MEDIUMSEAGREEN ,
231 HE_SVG_COLOR_MEDIUMSLATEBLUE ,
232 HE_SVG_COLOR_MEDIUMSPRINGGREEN ,
233 HE_SVG_COLOR_MEDIUMTURQUOISE ,
234 HE_SVG_COLOR_MEDIUMVIOLETRED ,
235 HE_SVG_COLOR_MIDNIGHTBLUE ,
236 HE_SVG_COLOR_MINTCREAM ,
237 HE_SVG_COLOR_MISTYROSE ,
238 HE_SVG_COLOR_MOCCASIN ,
239 HE_SVG_COLOR_NAVAJOWHITE ,
241 HE_SVG_COLOR_OLDLACE ,
243 HE_SVG_COLOR_OLIVEDRAB ,
244 HE_SVG_COLOR_ORANGE ,
245 HE_SVG_COLOR_ORANGERED ,
246 HE_SVG_COLOR_ORCHID ,
247 HE_SVG_COLOR_PALEGOLDENROD ,
248 HE_SVG_COLOR_PALEGREEN ,
249 HE_SVG_COLOR_PALETURQUOISE ,
250 HE_SVG_COLOR_PALEVIOLETRED ,
251 HE_SVG_COLOR_PAPAYAWHIP ,
252 HE_SVG_COLOR_PEACHPUFF ,
256 HE_SVG_COLOR_POWDERBLUE ,
257 HE_SVG_COLOR_PURPLE ,
259 HE_SVG_COLOR_ROSYBROWN ,
260 HE_SVG_COLOR_ROYALBLUE ,
261 HE_SVG_COLOR_SADDLEBROWN ,
262 HE_SVG_COLOR_SALMON ,
263 HE_SVG_COLOR_SANDYBROWN ,
264 HE_SVG_COLOR_SEAGREEN ,
265 HE_SVG_COLOR_SEASHELL ,
266 HE_SVG_COLOR_SIENNA ,
267 HE_SVG_COLOR_SILVER ,
268 HE_SVG_COLOR_SKYBLUE ,
269 HE_SVG_COLOR_SLATEBLUE ,
270 HE_SVG_COLOR_SLATEGRAY ,
271 HE_SVG_COLOR_SLATEGREY ,
273 HE_SVG_COLOR_SPRINGGREEN ,
274 HE_SVG_COLOR_STEELBLUE ,
277 HE_SVG_COLOR_THISTLE ,
278 HE_SVG_COLOR_TOMATO ,
279 HE_SVG_COLOR_TURQUOISE ,
280 HE_SVG_COLOR_VIOLET ,
283 HE_SVG_COLOR_WHITESMOKE ,
284 HE_SVG_COLOR_YELLOW ,
285 HE_SVG_COLOR_YELLOWGREEN
int f_g
Fuellfarbe gruen (0-255).
Definition: he-svg.h:300
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.
Inherit line join.
Definition: he-svg.h:130
int s_b
Zeichenfarbe blau (0-255).
Definition: he-svg.h:304
void he_svg_style_init(he_svg_style_t *ptr)
Style initialisieren.
Zentriert.
Definition: he-svg.h:78
he_svg_font_weight_t
Schriftdicke.
Definition: he-svg.h:86
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.
double y_bottom
Nutzer-Koordinaten, unterer y-Wert.
Definition: he-svg.h:319
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. ...
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.
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.
Rechtsbuendig.
Definition: he-svg.h:79
he_svg_style_t * styles
Style-Informationen (dynamisch).
Definition: he-svg.h:316
he_svg_unit_t
Einheit fuer die Abmessungen.
Definition: he-svg.h:106
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.
CSS-Style-Information fuer eine Klasse.
Definition: he-svg.h:292
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.
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.
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.
Dünner.
Definition: he-svg.h:90
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.
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.
double y_offset
Offset fuer y-Werte.
Definition: he-svg.h:324
double x_left
Nutzer-Koordinaten, linker x-Wert.
Definition: he-svg.h:317
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.
int hsm_et_svg_draw_multi_text_end(he_svg_t *svg, int *ec)
Mehrteiligen Text beenden.
Beveled line join.
Definition: he-svg.h:129
Normal.
Definition: he-svg.h:87
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.
Millimeters.
Definition: he-svg.h:108
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.
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.
int debug
Flag: Kommentare in SVG-Datei.
Definition: he-svg.h:331
double x_scale
Skalierung fuer x-Werte.
Definition: he-svg.h:321
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.
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.
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.
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.
char * fo_fam
Font-Familie(n).
Definition: he-svg.h:293
int s_g
Zeichenfarbe gruen (0-255).
Definition: he-svg.h:303
Noch fetter.
Definition: he-svg.h:89
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.
double x_offset
Offset fuer x-Werte.
Definition: he-svg.h:323
int hsm_et_svg_style_set_linewidth(he_svg_t *svg, size_t st, double lw, int *ec)
Linienbreite festlegen.
he_svg_unit_t units
Einheit fuer Bildabmessungen.
Definition: he-svg.h:332
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 e...
he_svg_linecap_t
Abschluss einer Linie.
Definition: he-svg.h:115
Linksbuendig.
Definition: he-svg.h:77
int fo_weight
Schriftdicke.
Definition: he-svg.h:307
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.
Square linecap.
Definition: he-svg.h:118
int hsm_et_svg_comment_text(he_svg_t *svg, char const *str, int *ec)
Text zu Kommentar hinzufuegen.
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.
FILE * outf
Zu schreibende Datei.
Definition: he-svg.h:314
int f_r
Fuellfarbe rot (0-255).
Definition: he-svg.h:299
int hsm_et_svg_draw_path_add_closepath(he_svg_t *svg, int *ec)
Pfad(-Segment) schliessen, um geschlossenen Kurvenzug zu erzeugen.
Butted linecap.
Definition: he-svg.h:116
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.
int hsm_et_svg_style_set_font_size(he_svg_t *svg, size_t st, double fs, int *ec)
Font-Groesse fuer Style festlegen.
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.
char * file_name
Name der zu schreibenden SVG-Datei.
Definition: he-svg.h:315
int hsm_et_svg_set_use_css(he_svg_t *svg, int css, int *ec)
Nutzung von CSS-Styles erlauben oder verbieten.
Inherit linecap.
Definition: he-svg.h:119
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...
size_t stnol
Maximale Laenge der Style-Nummern.
Definition: he-svg.h:326
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.
int hsm_et_svg_close(he_svg_t *svgptr, int *ec)
Speichern der SVG-Graphik beenden, Graphik schliessen.
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.
Screen pixels.
Definition: he-svg.h:107
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.
double lw
Linienbreite.
Definition: he-svg.h:295
he_svg_color_t
Farbangaben per Namen.
Definition: he-svg.h:137
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.
Konfigurationseinstellungen.
int hsm_et_svg_comment_close(he_svg_t *svg, int *ec)
Kommentar schliessen, der mit hsm_et_svg_comment_open() geoeffnet wurde.
long h_mm
Bildhoehe in mm oder px.
Definition: he-svg.h:328
int f_nam
Fuellfarbe aus enum.
Definition: he-svg.h:296
int css
Flag: CSS-Styling benutzen.
Definition: he-svg.h:330
size_t n_styles
Anzahl Elemente in styles.
Definition: he-svg.h:325
Geerbt.
Definition: he-svg.h:100
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.
he_svg_linejoin_t
Knickpunkte.
Definition: he-svg.h:126
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.
Rounded line join.
Definition: he-svg.h:128
int s_r
Zeichenfarbe rot (0-255).
Definition: he-svg.h:302
long w_mm
Bildbreite in mm oder px.
Definition: he-svg.h:327
double y_top
Nutzer-Koordinaten, oberer y-Wert.
Definition: he-svg.h:320
he_svg_align_h_t
Horizontale Ausrichtung.
Definition: he-svg.h:76
int hsm_et_svg_comment_open(he_svg_t *svg, int *ec)
Kommentar oeffnen.
double y_scale
Skalierung fuer y-Werte.
Definition: he-svg.h:322
Struktur zum Erzeugen einer SVG-Datei.
Definition: he-svg.h:313
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.
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.
double x_right
Nutzer-Koordinaten, rechter x-Wert.
Definition: he-svg.h:318
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.
Fett.
Definition: he-svg.h:88
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.
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.
int al_h
Horizontale Ausrichtung.
Definition: he-svg.h:298
Rounded linecap.
Definition: he-svg.h:117
int st
Flag: Header schon geschrieben.
Definition: he-svg.h:329
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.
int s_nam
Zeichenfarbe aus enum.
Definition: he-svg.h:297
int linecap
Linienenden.
Definition: he-svg.h:305
int f_b
Fuellfarbe blau (0-255).
Definition: he-svg.h:301
Mitered line join.
Definition: he-svg.h:127
double fo_sz
Font-Groesse.
Definition: he-svg.h:294
int linejoin
Knickpunkte.
Definition: he-svg.h:306
int hsm_et_svg_style_ptr_set_linewidth(he_svg_t *svg, he_svg_style_t *stptr, double lw, int *ec)
Linienbreite festlegen.