From 7a17d4525773ba7f8da4cb29a2d4dd91d9e460da Mon Sep 17 00:00:00 2001 From: Avior Date: Tue, 10 Jan 2023 17:32:20 +0100 Subject: [PATCH] fix: Handle DataWidth slightly better --- .../main/java/com/dzeio/charts/axis/XAxis.kt | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/library/src/main/java/com/dzeio/charts/axis/XAxis.kt b/library/src/main/java/com/dzeio/charts/axis/XAxis.kt index d351a7b..26062d5 100644 --- a/library/src/main/java/com/dzeio/charts/axis/XAxis.kt +++ b/library/src/main/java/com/dzeio/charts/axis/XAxis.kt @@ -21,23 +21,13 @@ class XAxis( set(value) { val max = getXMax() - getDataWidth() val min = getXMin() - if (value > max && min <= max) { - field = max - return - } - if (value < min) { - field = min - return - } - - field = value + field = value.coerceIn(min, max.coerceAtLeast(min)) } override var enabled = true override var dataWidth: Double? = null - get() = field ?: getXMax() override var labelCount: Int = 2 @@ -133,16 +123,13 @@ class XAxis( } } - return clamp(drawableSpace.width() * smallest / getDataWidth() - spacing, 1.0, drawableSpace.width().toDouble()) + return (drawableSpace.width() * smallest / getDataWidth() - spacing) + .coerceIn(1.0, drawableSpace.width().toDouble()) } - override fun getDataWidth(): Double { - // TODO: handle the auto dataWidth better - return dataWidth ?: getXMax() + // TODO: handle the auto dataWidth better (still not sure it is good enough) + return dataWidth ?: (getXMax() - getXMin() + 1) } - private fun clamp(value: Double, min: Double, max: Double): Double { - return if (value < min) min else if (value > max) max else value - } }