From 4619398b9e06471fd756d2f27e5db9dad565e29d Mon Sep 17 00:00:00 2001
From: faiface <faiface@ksp.sk>
Date: Thu, 23 Mar 2017 19:15:06 +0100
Subject: [PATCH] fix 0 vector len + fix imdraw polyline

---
 geometry.go      |  3 +++
 imdraw/imdraw.go | 12 ------------
 2 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/geometry.go b/geometry.go
index 12a324f..af8b24e 100644
--- a/geometry.go
+++ b/geometry.go
@@ -85,6 +85,9 @@ func (u Vec) Angle() float64 {
 
 // Unit returns a vector of length 1 facing the direction of u (has the same angle).
 func (u Vec) Unit() Vec {
+	if u == 0 {
+		return 1
+	}
 	return u / V(u.Len(), 0)
 }
 
diff --git a/imdraw/imdraw.go b/imdraw/imdraw.go
index fbef4e9..3a69537 100644
--- a/imdraw/imdraw.go
+++ b/imdraw/imdraw.go
@@ -433,18 +433,6 @@ func (imd *IMDraw) outlineEllipseArc(radius pixel.Vec, low, high, thickness floa
 func (imd *IMDraw) polyline(thickness float64, closed bool) {
 	points := imd.getAndClearPoints()
 
-	// filter identical adjacent points
-	filtered := points[:0]
-	for i := 0; i < len(points); i++ {
-		if closed || i+1 < len(points) {
-			j := (i + 1) % len(points)
-			if points[i].pos != points[j].pos {
-				filtered = append(filtered, points[i])
-			}
-		}
-	}
-	points = filtered
-
 	if len(points) < 2 {
 		return
 	}
-- 
GitLab