DoubleLinearAxisModel

class DoubleLinearAxisModel(val range: ClosedFloatingPointRange<Double>, minViewExtent: Double = (range.endInclusive - range.start) * ZoomRangeLimitDefault, maxViewExtent: Double = ((range.endInclusive - range.start)), minimumMajorTickIncrement: Double = (range.endInclusive - range.start) * MinimumMajorTickIncrementDefault, val minimumMajorTickSpacing: Dp = 50.dp, minorTickCount: Int = 4, inverted: Boolean = false) : ContinuousLinearAxisModel<Double>

An AxisModel that uses Double values and is linear.

Parameters

range

The minimum to maximum values allowed to be represented on this Axis. Zoom and scroll modifications may not exceed this range.

minViewExtent

Specifies the minimum allowed range after zooming. Must be greater than 0 and less than the difference between the start and end of range.

maxViewExtent

Specifies the maximum allowed viewable range. Must be greater than 0, greater than or equal to minViewExtent, and less than or equal to the difference between the start and end of range.

minimumMajorTickIncrement

The minimum value between adjacent major ticks. Must be less than or equal to the extent of the range.

minimumMajorTickSpacing

Specifies the minimum physical spacing for major ticks, in Dp units. Must be greater than 0.

minorTickCount

The number of minor ticks per major tick interval.

Constructors

Link copied to clipboard
constructor(range: ClosedFloatingPointRange<Double>, minViewExtent: Double = (range.endInclusive - range.start) * ZoomRangeLimitDefault, maxViewExtent: Double = ((range.endInclusive - range.start)), minimumMajorTickIncrement: Double = (range.endInclusive - range.start) * MinimumMajorTickIncrementDefault, minimumMajorTickSpacing: Dp = 50.dp, minorTickCount: Int = 4, inverted: Boolean = false)

Properties

Link copied to clipboard
open override val minimumMajorTickSpacing: Dp
Link copied to clipboard
Link copied to clipboard
open override val viewRange: State<ClosedRange<Double>>

Functions

Link copied to clipboard
open override fun computeOffset(point: Double): Float

Computes the linear offset of the provided point along this axis relative to its min value. For a linear axis this is offset = (point-min)/(max-min). Values less than 0 or greater than 1 mean the point is before or beyond the range of the axis, respectively. Nonlinear, e.g. log, axes can be implemented with appropriate transformations in this function.

Link copied to clipboard
open override fun computeTickValues(axisLength: Dp): TickValues<Double>

Computes major and minor tick values based on the minimum tick spacing and the overall axisLength.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun pan(amount: Float): Boolean

Asks the AxisState to compute new ranges and tick values after panning, if the axis supports panning.

Link copied to clipboard
open override fun setViewRange(newRange: ClosedRange<Double>)

Sets the currently viewable range on the axis. This is a more direct alternative to using pan and zoom to set the range of currently viewable values on an axis. The start and end must be within the allowed range of the axis. If they exceed either limit they will be clamped to the range.

Link copied to clipboard
open override fun zoom(zoomFactor: Float, pivot: Float)

Asks the AxisState to compute new ranges and tick values after zooming, if the axis supports zooming.