====== std.svg.defs ====== SVG-Definitionen (''''): wiederverwendbare Elemente wie Farbverläufe (linear, radial), Kachelmuster, Symbole, Pfeilmarker und Clipping-Paths. Definierte Elemente werden per ID referenziert. → [[lyx_-_programmiersprache:units:svg|std.svg]] · [[lyx_-_programmiersprache:units:svg:style|std.svg.style]] · [[lyx_-_programmiersprache:units:svg:elements|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