Package-level declarations

Types

Link copied to clipboard
typealias CIEXYZ = ColorXYZa
Link copied to clipboard
@Serializable
data class ColorHPLUVa(val h: Double, val s: Double, val l: Double, val alpha: Double = 1.0) : ColorModel<ColorHPLUVa> , HueShiftableColor<ColorHPLUVa> , SaturatableColor<ColorHPLUVa> , ShadableColor<ColorHPLUVa> , LuminosityColor<ColorHPLUVa> , AlgebraicColor<ColorHPLUVa>

Represents a color in the HPLUVa (Hue, Perceptual Lightness, Saturation, Alpha) color space. This color space is based on perceptual uniformity, making it suitable for operations like interpolation, shading, and manipulation of hue, saturation, and lightness values.

Link copied to clipboard
@Serializable
data class ColorHSLUVa(val h: Double, val s: Double, val l: Double, val alpha: Double = 1.0) : ColorModel<ColorHSLUVa> , HueShiftableColor<ColorHSLUVa> , SaturatableColor<ColorHSLUVa> , ShadableColor<ColorHSLUVa> , LuminosityColor<ColorHSLUVa> , AlgebraicColor<ColorHSLUVa>

Represents a color in the HSLuv color space with an alpha transparency component. HSLuv is a perceptually uniform color space, where hues are uniformly distributed and the perception of color is consistent across the spectrum.

Link copied to clipboard
@Serializable
data class ColorOKHSLa(val h: Double, val s: Double, val l: Double, val alpha: Double = 1.0) : ColorModel<ColorOKHSLa> , HueShiftableColor<ColorOKHSLa> , SaturatableColor<ColorOKHSLa> , ShadableColor<ColorOKHSLa> , AlgebraicColor<ColorOKHSLa>

Represents a color in the OKHSL (hue, saturation, lightness) color space with an alpha channel. This color model is based on perceptual uniformity and is useful for hue, saturation, and lightness manipulations while maintaining consistency with human vision.

Link copied to clipboard
@Serializable
data class ColorOKHSVa(val h: Double, val s: Double, val v: Double, val alpha: Double = 1.0) : ColorModel<ColorOKHSVa> , HueShiftableColor<ColorOKHSVa> , SaturatableColor<ColorOKHSVa> , ShadableColor<ColorOKHSVa> , AlgebraicColor<ColorOKHSVa>

Represents a color in the OKHSVa color model.

Link copied to clipboard
@Serializable
data class ColorOKLABa(val l: Double, val a: Double, val b: Double, val alpha: Double = 1.0) : ColorModel<ColorOKLABa> , ShadableColor<ColorOKLABa> , LuminosityColor<ColorOKLABa> , AlgebraicColor<ColorOKLABa>

Represents a color in the OKLAB color space with an optional alpha (transparency) value. OKLAB is a perceptual color space designed to represent colors in a way that aligns with human visual perception, offering an alternative to traditional color spaces like RGB.

Link copied to clipboard
@Serializable
data class ColorOKLCHa(val l: Double, val c: Double, val h: Double, val alpha: Double = 1.0) : ColorModel<ColorOKLCHa> , ShadableColor<ColorOKLCHa> , ChromaColor<ColorOKLCHa> , HueShiftableColor<ColorOKLCHa> , LuminosityColor<ColorOKLCHa> , AlgebraicColor<ColorOKLCHa>

Represents a color in the OKLCH color space, which is based on the OKLab color space with added polar coordinates for chroma and hue.

Link copied to clipboard
@Serializable
data class ColorXSLUVa(val x: Double, val s: Double, val l: Double, val alpha: Double = 1.0) : ColorModel<ColorXSLUVa> , HueShiftableColor<ColorXSLUVa> , SaturatableColor<ColorXSLUVa> , ShadableColor<ColorXSLUVa> , AlgebraicColor<ColorXSLUVa>

Represents a color in the XSLUV color space with an optional alpha transparency value. XSLUV is a cylindrical representation of the HSLUV color space using an alternative X coordinate instead of the standard hue. It provides a perceptually uniform color representation.

Link copied to clipboard
typealias HPLuv = ColorHPLUVa
Link copied to clipboard
typealias HSL = ColorHSLa
Link copied to clipboard
typealias HSLuv = ColorHSLUVa
Link copied to clipboard
typealias HSV = ColorHSVa
Link copied to clipboard
typealias LAB = ColorLABa
Link copied to clipboard
typealias LCHab = ColorLCHABa
Link copied to clipboard
typealias LCHuv = ColorLCHUVa
Link copied to clipboard
typealias LUV = ColorLUVa
Link copied to clipboard
typealias OKHSL = ColorOKHSLa
Link copied to clipboard
typealias OKHSV = ColorOKHSVa
Link copied to clipboard
typealias OKLab = ColorOKLABa
Link copied to clipboard
typealias OKLCH = ColorOKLCHa
Link copied to clipboard
typealias RGB = ColorRGBa
Link copied to clipboard
typealias XSL = ColorXSLa
Link copied to clipboard
typealias XSLuv = ColorXSLUVa
Link copied to clipboard
typealias XSV = ColorXSVa

Functions

Link copied to clipboard
fun find_gamut_intersection(a: Double, b: Double, L1: Double, C1: Double, L0: Double, cusp: DoubleArray? = null): Double
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun hueToX(hue: Double): Double
Link copied to clipboard
fun mix(left: ColorHPLUVa, right: ColorHPLUVa, x: Double): ColorHPLUVa
fun mix(left: ColorHSLUVa, right: ColorHSLUVa, x: Double): ColorHSLUVa
fun mix(left: ColorOKLCHa, right: ColorOKLCHa, x: Double): ColorOKLCHa
fun mix(left: ColorXSLUVa, right: ColorXSLUVa, x: Double): ColorXSLUVa
Link copied to clipboard
fun toe(x: Double): Double

Computes a modified version of the Toe mapping function, used in color space transformations.

Link copied to clipboard

Computes the toe inverse transformation of a given input value based on specific constants. This function is typically used for calculations involving perceptual transformations or non-linear scaling in color spaces or other mathematical models.

Link copied to clipboard
fun ColorLCHUVa.toHPLUVa(): ColorHPLUVa
fun ColorRGBa.toHPLUVa(): ColorHPLUVa
Link copied to clipboard
fun ColorLCHUVa.toHSLUVa(): ColorHSLUVa
fun ColorRGBa.toHSLUVa(): ColorHSLUVa
Link copied to clipboard
fun ColorRGBa.toOKHSLa(): ColorOKHSLa
Link copied to clipboard
fun ColorRGBa.toOKHSVa(): ColorOKHSVa
Link copied to clipboard
fun ColorRGBa.toOKLABa(): ColorOKLABa
Link copied to clipboard
fun ColorRGBa.toOKLCHa(): ColorOKLCHa
Link copied to clipboard
fun ColorRGBa.toXSLUVa(): ColorXSLUVa
Link copied to clipboard