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