dkforest

A forum and chat platform (onion)
git clone https://git.dasho.dev/n0tr1v/dkforest.git
Log | Files | Refs | LICENSE

commit 5ea4cb0e54f91b407284e231e721900bc058aeee
parent 2d53acaea0a640a616f4212cc9152e476d5f1b48
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Sat, 27 May 2023 22:56:50 -0700

simplify code

Diffstat:
Mpkg/captcha/image.go | 54++++++++++++++++++------------------------------------
1 file changed, 18 insertions(+), 36 deletions(-)

diff --git a/pkg/captcha/image.go b/pkg/captcha/image.go @@ -599,6 +599,12 @@ func (m *Image) getGradientColors(nbPoints int) []color.RGBA { return gradColors } +func (m *Image) strokeCubicLine(p1, p2 Point, d float64) { + m.c.MoveTo(p1.GetX(), p1.GetY()) + m.c.CubicTo(p1.GetX()+d, p1.GetY()+d, p2.GetX()-d, p2.GetY()-d, p2.GetX(), p2.GetY()) + m.c.Stroke() +} + func (m *Image) renderPath(points []Point) { d := m.CubicDelta @@ -618,16 +624,12 @@ func (m *Image) renderPath(points []Point) { m.withState(func() { m.c.SetLineWidth(4) m.c.SetColor(color.RGBA{R: 15, G: 15, B: 15, A: 255}) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()+d, prev.GetY()+d, pt.GetX()-d, pt.GetY()-d, pt.GetX(), pt.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, d) }) m.withState(func() { m.c.SetLineWidth(1.5) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()+d, prev.GetY()+d, pt.GetX()-d, pt.GetY()-d, pt.GetX(), pt.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, d) }) } }) @@ -651,23 +653,17 @@ func (m *Image) renderPath(points []Point) { m.withState(func() { m.c.SetLineWidth(4) m.c.SetColor(color.RGBA{R: 15, G: 15, B: 15, A: 255}) - m.c.MoveTo(pt.GetX(), pt.GetY()) - m.c.CubicTo(pt.GetX()-d, pt.GetY()-d, prev.GetX()+d, prev.GetY()+d, prev.GetX(), prev.GetY()) - m.c.Stroke() + m.strokeCubicLine(pt, prev, -d) }) m.withState(func() { m.c.SetDashOffset(4) m.c.SetDash(30, 300) - m.c.MoveTo(pt.GetX(), pt.GetY()) - m.c.CubicTo(pt.GetX()-d, pt.GetY()-d, prev.GetX()+d, prev.GetY()+d, prev.GetX(), prev.GetY()) - m.c.Stroke() + m.strokeCubicLine(pt, prev, -d) }) } else { m.withState(func() { - m.c.MoveTo(pt.GetX(), pt.GetY()) - m.c.CubicTo(pt.GetX()-d, pt.GetY()-d, prev.GetX()+d, prev.GetY()+d, prev.GetX(), prev.GetY()) - m.c.Stroke() + m.strokeCubicLine(pt, prev, -d) }) } } @@ -694,9 +690,7 @@ func (m *Image) renderFakePath(points []Point) { m.c.SetStrokeStyle(grad) m.withState(func() { m.c.SetLineWidth(1) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()-d, prev.GetY()-d, pt.GetX()+d, pt.GetY()+d, pt.GetX(), pt.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, -d) }) } }) @@ -708,12 +702,8 @@ func (m *Image) renderFakePath(points []Point) { for i := 1; i < len(points); i++ { prev := points[i-1] pt := points[i] - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()-d, prev.GetY()-d, pt.GetX()+d, pt.GetY()+d, pt.GetX(), pt.GetY()) - m.c.Stroke() - m.c.MoveTo(pt.GetX(), pt.GetY()) - m.c.CubicTo(pt.GetX()+d, pt.GetY()+d, prev.GetX()-d, prev.GetY()-d, prev.GetX(), prev.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, -d) + m.strokeCubicLine(pt, prev, d) } }) @@ -731,16 +721,12 @@ func (m *Image) renderFakePath(points []Point) { m.withState(func() { m.c.SetLineWidth(4) m.c.SetColor(color.RGBA{R: 15, G: 15, B: 15, A: 255}) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()-d, prev.GetY()-d, pt.GetX()+d, pt.GetY()+d, pt.GetX(), pt.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, -d) }) m.withState(func() { m.c.SetLineWidth(1.5) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()-d, prev.GetY()-d, pt.GetX()+d, pt.GetY()+d, pt.GetX(), pt.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, -d) }) } }) @@ -756,12 +742,8 @@ func (m *Image) renderFakePath(points []Point) { grad := getGradient(prev, pt, gradColors, i) m.c.SetStrokeStyle(grad) - m.c.MoveTo(prev.GetX(), prev.GetY()) - m.c.CubicTo(prev.GetX()-d, prev.GetY()-d, pt.GetX()+d, pt.GetY()+d, pt.GetX(), pt.GetY()) - m.c.Stroke() - m.c.MoveTo(pt.GetX(), pt.GetY()) - m.c.CubicTo(pt.GetX()+d, pt.GetY()+d, prev.GetX()-d, prev.GetY()-d, prev.GetX(), prev.GetY()) - m.c.Stroke() + m.strokeCubicLine(prev, pt, -d) + m.strokeCubicLine(pt, prev, d) } }) })