svg

package
v0.0.0-...-f8d3efd Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2025 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