Was almost right last time, this is accurate on the exact center. I caught it when I have a ring that ends on a 90/180/270/360 boundary. I couldn't get it to read 0 ||100 % of the value.
Second if you have a ring that starts on one side of 360 and ends on the other as int startAngle = 300 and sweepAngle = 120 (crosses the 360 boundary) it wouldn't work. So I added the angleCross boolean to fix this issue
Was almost right last time, this is accurate on the exact center. I caught it when I have a ring that ends on a 90/180/270/360 boundary. I couldn't get it to read 0 ||100 % of the value. Second if you have a ring that starts on one side of 360 and ends on the other as int startAngle = 300 and sweepAngle = 120 (crosses the 360 boundary) it wouldn't work. So I added the angleCross boolean to fix this issue