svg

package
v0.0.0-...-68912a3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2026 License: MPL-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BezierCurveSegment

func BezierCurveSegment(p1, p2, p3, p4 *geo.Point, t0, t1 float64) (geo.Point, geo.Point, geo.Point, geo.Point)

Given control points p1, p2, p3, p4, calculate the segment of this bezier curve from t0 -> t1 where {0 <= t0 < t1 <= 1}. Uses De Casteljau's algorithm, referenced: https://stackoverflow.com/questions/11703283/cubic-bezier-curve-segment/11704152#11704152

func EscapeText

func EscapeText(text string) string

func GetStrokeDashAttributes

func GetStrokeDashAttributes(strokeWidth, dashGapSize float64) (float64, float64)

func SVGID

func SVGID(text string) string

func SplitPath

func SplitPath(path string, percentage float64) (string, string, error)

Splits an SVG path into two SVG paths, with the first path being ~{percentage}% of the path

Types

type SvgPathContext

type SvgPathContext struct {
	Path     []geo.Intersectable
	Commands []string
	Start    *geo.Point
	Current  *geo.Point
	TopLeft  *geo.Point
	ScaleX   float64
	ScaleY   float64
}

func NewSVGPathContext

func NewSVGPathContext(tl *geo.Point, sx, sy float64) *SvgPathContext

func (*SvgPathContext) Absolute

func (c *SvgPathContext) Absolute(x, y float64) *geo.Point

func (*SvgPathContext) C

func (c *SvgPathContext) C(isLowerCase bool, x1, y1, x2, y2, x3, y3 float64)

func (*SvgPathContext) H

func (c *SvgPathContext) H(isLowerCase bool, x float64)

func (*SvgPathContext) L

func (c *SvgPathContext) L(isLowerCase bool, x, y float64)

func (*SvgPathContext) PathData

func (c *SvgPathContext) PathData() string

func (*SvgPathContext) Relative

func (c *SvgPathContext) Relative(base *geo.Point, dx, dy float64) *geo.Point

func (*SvgPathContext) StartAt

func (c *SvgPathContext) StartAt(p *geo.Point)

func (*SvgPathContext) V

func (c *SvgPathContext) V(isLowerCase bool, y float64)

func (*SvgPathContext) Z

func (c *SvgPathContext) Z()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL