diff --git a/chart-realtime/src/commonMain/kotlin/dev/dtrentin/chart/render/AxisRenderer.kt b/chart-realtime/src/commonMain/kotlin/dev/dtrentin/chart/render/AxisRenderer.kt index 383e909..a929ac2 100644 --- a/chart-realtime/src/commonMain/kotlin/dev/dtrentin/chart/render/AxisRenderer.kt +++ b/chart-realtime/src/commonMain/kotlin/dev/dtrentin/chart/render/AxisRenderer.kt @@ -152,12 +152,14 @@ internal object AxisRenderer { } private fun formatTimeSec(totalSec: Double): String { - val s = totalSec.toLong().coerceAtLeast(0L) - return when { + val negative = totalSec < 0 + val s = kotlin.math.abs(totalSec.toLong()) + val formatted = when { s < 60L -> "${s}s" s < 3600L -> "${s / 60}:${(s % 60).toString().padStart(2, '0')}" else -> "${s / 3600}:${((s % 3600) / 60).toString().padStart(2, '0')}:${(s % 60).toString().padStart(2, '0')}" } + return if (negative) "-$formatted" else formatted } private fun formatAxisValue(value: Double, decimals: Int): String {