From 67ae48b527824548082b5e5fac020148c571b1ed Mon Sep 17 00:00:00 2001 From: Denis Date: Fri, 29 Jul 2016 23:52:11 +0200 Subject: [PATCH] radius and color of the mark in the frequency view --- .../activities/common/views/FrequencyChart.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java b/app/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java index 7554c19bb..8c06e498b 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java @@ -235,10 +235,14 @@ public class FrequencyChart extends ScrollableChart private void drawMarker(Canvas canvas, RectF rect, Integer value) { float padding = rect.height() * 0.2f; - float radius = - (rect.height() - 2 * padding) / 2.0f / 4.0f * Math.min(value, 4); - - pGraph.setColor(colors[Math.min(3, Math.max(0, value - 1))]); + // maximal allowed mark radius + float maxRadius = (rect.height() - 2 * padding) / 2.0f; + // the real mark radius is scaled down by a factor depending on the value + float scale = Math.min(value, 4) / 4.0f; + float radius = maxRadius * scale; + + int colorIndex = Math.round((colors.length-1) * scale); + pGraph.setColor(colors[colorIndex]); canvas.drawCircle(rect.centerX(), rect.centerY(), radius, pGraph); }