// pdfPath returns a pdf.Path from a vg.Path. func pdfPath(c *Canvas, path vg.Path) *pdf.Path { p := new(pdf.Path) for _, comp := range path { switch comp.Type { case vg.MoveComp: p.Move(pdfPoint(comp.X, comp.Y)) case vg.LineComp: p.Line(pdfPoint(comp.X, comp.Y)) case vg.ArcComp: arc(p, comp) case vg.CloseComp: p.Close() default: panic(fmt.Sprintf("Unknown path component type: %d\n", comp.Type)) } } return p }