diff --git a/ui.go b/ui.go index 38fb4c3..edae1e2 100644 --- a/ui.go +++ b/ui.go @@ -75,6 +75,10 @@ const ( btnBorder = 2 holdDuration = time.Second + spinGap = math.Pi / 6 + spinPunch = 9 + spinPeriod = 2 * time.Second + versionSpotSide = 200 ) @@ -386,6 +390,12 @@ func (d *display) drawHeader(phy phyDisplay, hv histView, measuring bool, d.fb.roundRect(rx, ry, ringD, ringD, ringD/2, col) d.fb.roundRect(rx+ringEdge, ry+ringEdge, ringD-2*ringEdge, ringD-2*ringEdge, ringD/2-ringEdge, uiBg) + spin := float64(now.UnixNano()%int64(spinPeriod)) / float64(spinPeriod) + cx, cy := float64(rx)+ringD/2, float64(ry)+ringD/2 + cr := (ringD - ringEdge) / 2.0 + a0, a1 := 2*math.Pi*spin-spinGap/2, 2*math.Pi*spin+spinGap/2 + d.fb.stroke(cx+cr*math.Sin(a0), cy-cr*math.Cos(a0), + cx+cr*math.Sin(a1), cy-cr*math.Cos(a1), spinPunch, uiBg) switch { case measuring: case good: