====== std.svg.path ====== SVG-Pfad-Builder: '''' programmatisch aufbauen. Unterstützt alle SVG-Pfadbefehle: MoveTo, LineTo, kubische und quadratische Bézier-Kurven, Bögen und ClosePath. Koordinaten können absolut (Großbuchstaben) oder relativ (Kleinbuchstaben) sein. → [[lyx_-_programmiersprache:units:svg|std.svg]] · [[lyx_-_programmiersprache:units:svg:elements|std.svg.elements]] · [[lyx_-_programmiersprache:units:svg:style|std.svg.style]] ---- ===== Verwendung ===== import std.svg.path; // Pfad aufbauen var p: SvgPath := SvgPathNew(); SvgPathMoveTo(p, 50.0, 100.0); // M 50,100 SvgPathLineTo(p, 200.0, 100.0); // L 200,100 SvgPathCubicTo(p, 250.0, 100.0, 250.0, 200.0, 200.0, 200.0); // C ... SvgPathLineTo(p, 50.0, 200.0); SvgPathClose(p); // Z // Pfad ausgeben SvgPathDraw(svg, p, "fill:lightcyan;stroke:teal;stroke-width:2"); SvgPathFree(p); // Bogen (arc): (rx, ry, xRotation, largeArc, sweep, x, y) var arc: SvgPath := SvgPathNew(); SvgPathMoveTo(arc, 100.0, 200.0); SvgPathArcTo(arc, 80.0, 80.0, 0.0, false, true, 250.0, 200.0); SvgPathDraw(svg, arc, "fill:none;stroke:red;stroke-width:2"); SvgPathFree(arc); // Kurzform: fertigen d-String direkt ausgeben SvgPath(svg, "M10,80 Q95,10 180,80 T350,80", "fill:none;stroke:blue;stroke-width:2"); ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''SvgPathNew(): SvgPath'' | pub | Erzeugt neuen Pfad-Builder | | ''SvgPathMoveTo(p: SvgPath, x: f64, y: f64): void'' | pub | M: absolute Startposition | | ''SvgPathMoveToRel(p: SvgPath, dx: f64, dy: f64): void'' | pub | m: relative Startposition | | ''SvgPathLineTo(p: SvgPath, x: f64, y: f64): void'' | pub | L: absolute Linie | | ''SvgPathLineToRel(p: SvgPath, dx: f64, dy: f64): void'' | pub | l: relative Linie | | ''SvgPathHLineTo(p: SvgPath, x: f64): void'' | pub | H: horizontale Linie | | ''SvgPathVLineTo(p: SvgPath, y: f64): void'' | pub | V: vertikale Linie | | ''SvgPathCubicTo(p: SvgPath, x1: f64, y1: f64, x2: f64, y2: f64, x: f64, y: f64): void'' | pub | C: kubische Bézier-Kurve | | ''SvgPathQuadTo(p: SvgPath, x1: f64, y1: f64, x: f64, y: f64): void'' | pub | Q: quadratische Bézier-Kurve | | ''SvgPathArcTo(p: SvgPath, rx: f64, ry: f64, xRot: f64, largeArc: bool, sweep: bool, x: f64, y: f64): void'' | pub | A: elliptischer Bogen | | ''SvgPathClose(p: SvgPath): void'' | pub | Z: Pfad schließen | | ''SvgPathDraw(svg: Svg, p: SvgPath, style: pchar): void'' | pub | Gibt Pfad als ''''-Element aus | | ''SvgPathToString(p: SvgPath): pchar'' | pub | Gibt d-Attribut-String zurück | | ''SvgPathFree(p: SvgPath): void'' | pub | Gibt Pfad-Ressourcen frei | | ''SvgPath(svg: Svg, d: pchar, style: pchar): void'' | pub | Gibt rohen d-String direkt als '''' aus | Letzte Aktualisierung: 2026-05-23