blob: 2ab40b51f423f827e9c22856aceb986f062c7102 [file] [log] [blame]
package org.eclipse.nebula.widgets.nattable.core.layer.axis
import java.math.BigDecimal
import static extension org.eclipse.nebula.widgets.nattable.core.math.BigDecimalExtensions.*
/**
* A set of useful utility functions that calculate invariants that must hold for any Axis.
*/
class AxisInvariants {
def static getPixelSize(Axis axis) {
axis.getStartPixelOfSegmentPosition(axis.segmentCount) - axis.getStartPixelOfSegmentPosition(0)
}
def static getPixelSizeOfSegmentPosition(Axis axis, long segmentPosition) {
axis.getStartPixelOfSegmentPosition(segmentPosition + 1) - axis.getStartPixelOfSegmentPosition(segmentPosition)
}
def static boolean containsPixelLocation(Axis axis, BigDecimal pixelLocation) {
pixelLocation >= BigDecimal::ZERO && pixelLocation < axis.getStartPixelOfSegmentPosition(axis.segmentCount)
}
def static boolean containsSegmentPosition(Axis axis, long segmentPosition) {
segmentPosition >= 0 && segmentPosition < axis.segmentCount
}
}