package dev.dtrentin.chart.model /** Y axis range strategy. */ public sealed class YRange { /** * Auto-fit to data visible in current X window. * @param paddingFraction fractional padding added above and below data range (default 10%). */ public data class Auto(val paddingFraction: Float = 0.1f) : YRange() /** * Fixed range regardless of data. */ public data class Fixed(val min: Float, val max: Float) : YRange() { init { require(min < max) { "YRange.Fixed: min ($min) must be < max ($max)" } } } }