std.svg.defs
SVG-Definitionen (<defs>): wiederverwendbare Elemente wie Farbverläufe (linear, radial), Kachelmuster, Symbole, Pfeilmarker und Clipping-Paths. Definierte Elemente werden per ID referenziert.
→ std.svg · std.svg.style · std.svg.elements
Verwendung
import std.svg.defs;
// Linearer Farbverlauf
SvgLinearGradient(svg, "blauRot", 0.0, 0.0, 1.0, 0.0); // horizontal
SvgGradientStop(svg, 0.0, "blue", 1.0);
SvgGradientStop(svg, 1.0, "red", 1.0);
SvgGradientEnd(svg);
// Verlauf verwenden
SvgRect(svg, 10.0, 10.0, 300.0, 100.0, "fill:url(#blauRot)");
// Radialer Farbverlauf
SvgRadialGradient(svg, "sonnenschein", 0.5, 0.5, 0.5);
SvgGradientStop(svg, 0.0, "yellow", 1.0);
SvgGradientStop(svg, 1.0, "orange", 0.0);
SvgGradientEnd(svg);
// Clipping-Path
SvgClipBegin(svg, "meinClip");
SvgCircle(svg, 200.0, 200.0, 100.0, "");
SvgClipEnd(svg);
SvgGroupBegin(svg, "");
// clip-path:url(#meinClip) im Style der Gruppe
SvgGroupEnd(svg);
// Symbol definieren und verwenden
SvgSymbolBegin(svg, "stern", 0.0, 0.0, 100.0, 100.0);
SvgPolygon(svg, "50,5 61,35 95,35 68,57 79,91 50,70 21,91 32,57 5,35 39,35", "fill:gold");
SvgSymbolEnd(svg);
SvgUse(svg, "stern", 150.0, 150.0, 40.0, 40.0);
// Pfeilmarker
SvgMarkerArrow(svg, "pfeil", "black");
SvgLine(svg, 50.0, 50.0, 300.0, 50.0, "stroke:black;stroke-width:2;marker-end:url(#pfeil)");
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
SvgLinearGradient(svg: Svg, id: pchar, x1: f64, y1: f64, x2: f64, y2: f64): void | pub | Startet linearen Farbverlauf (Koordinaten als Anteil 0–1) |
SvgRadialGradient(svg: Svg, id: pchar, cx: f64, cy: f64, r: f64): void | pub | Startet radialen Farbverlauf |
SvgGradientStop(svg: Svg, offset: f64, color: pchar, opacity: f64): void | pub | Fügt Farbstopp zum aktuellen Verlauf hinzu |
SvgGradientEnd(svg: Svg): void | pub | Schließt Verlauf-Definition |
SvgPattern(svg: Svg, id: pchar, w: f64, h: f64): void | pub | Startet Kachelmuster |
SvgPatternEnd(svg: Svg): void | pub | Schließt Kachelmuster |
SvgClipBegin(svg: Svg, id: pchar): void | pub | Startet Clipping-Path-Definition |
SvgClipEnd(svg: Svg): void | pub | Schließt Clipping-Path |
SvgSymbolBegin(svg: Svg, id: pchar, vbX: f64, vbY: f64, vbW: f64, vbH: f64): void | pub | Startet Symbol-Definition mit ViewBox |
SvgSymbolEnd(svg: Svg): void | pub | Schließt Symbol-Definition |
SvgUse(svg: Svg, id: pchar, x: f64, y: f64, w: f64, h: f64): void | pub | Referenziert Symbol per ID |
SvgMarkerArrow(svg: Svg, id: pchar, color: pchar): void | pub | Definiert einfachen Pfeilmarker |
SvgMarkerBegin(svg: Svg, id: pchar, w: f64, h: f64, refX: f64, refY: f64): void | pub | Startet benutzerdefinierte Marker-Definition |
SvgMarkerEnd(svg: Svg): void | pub | Schließt Marker-Definition |
Letzte Aktualisierung: 2026-05-23
