[orx-color] Add serialization annotations to color classes

This commit is contained in:
Edwin Jakobs
2023-11-18 08:25:28 +01:00
parent a8e23ad651
commit ac54e2a5d7
7 changed files with 14 additions and 0 deletions

View File

@@ -1,9 +1,11 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import org.openrndr.math.mixAngle
@Serializable
data class ColorHPLUVa(val h: Double, val s: Double, val l: Double, override val alpha: Double = 1.0) :
ColorModel<ColorHPLUVa>,
HueShiftableColor<ColorHPLUVa>,

View File

@@ -1,5 +1,6 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import org.openrndr.math.map
@@ -79,6 +80,7 @@ private fun maxChromaForLH(L100: Double, H: Double): Double {
/**
* HSLUV color space
*/
@Serializable
data class ColorHSLUVa(val h: Double, val s: Double, val l: Double, override val alpha: Double = 1.0) :
ColorModel<ColorHSLUVa>,
HueShiftableColor<ColorHSLUVa>,

View File

@@ -1,11 +1,13 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import org.openrndr.math.mixAngle
import kotlin.math.*
@Suppress("LocalVariableName")
@Serializable
data class ColorOKHSLa(val h: Double, val s: Double, val l: Double, override val alpha: Double = 1.0) :
ColorModel<ColorOKHSLa>,
HueShiftableColor<ColorOKHSLa>,

View File

@@ -1,11 +1,13 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import org.openrndr.math.mixAngle
import kotlin.math.*
@Suppress("LocalVariableName")
@Serializable
data class ColorOKHSVa(val h: Double, val s: Double, val v: Double, override val alpha: Double = 1.0) :
ColorModel<ColorOKHSVa>,
HueShiftableColor<ColorOKHSVa>,

View File

@@ -1,5 +1,6 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import kotlin.math.pow
@@ -11,6 +12,7 @@ import kotlin.math.pow
* [b] = yellow (-1.0) to blue (1.0).
*/
@Suppress("LocalVariableName")
@Serializable
data class ColorOKLABa(val l: Double, val a: Double, val b: Double, override val alpha: Double = 1.0) :
ColorModel<ColorOKLABa>,
ShadableColor<ColorOKLABa>,

View File

@@ -1,5 +1,6 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.*
import kotlin.math.*
@@ -7,6 +8,7 @@ import kotlin.math.*
/**
* Color in cylindrical OKLab space
*/
@Serializable
data class ColorOKLCHa(val l: Double, val c: Double, val h: Double, override val alpha: Double = 1.0) :
ColorModel<ColorOKLCHa>,
ShadableColor<ColorOKLCHa>,

View File

@@ -1,9 +1,11 @@
package org.openrndr.extra.color.spaces
import kotlinx.serialization.Serializable
import org.openrndr.color.*
import org.openrndr.math.Vector4
import org.openrndr.math.mixAngle
@Serializable
data class ColorXSLUVa(val x: Double, val s: Double, val l: Double, override val alpha: Double = 1.0) :
ColorModel<ColorXSLUVa>,
HueShiftableColor<ColorXSLUVa>,