[orx-color] Make ColorOKLab CastableToVector4
This commit is contained in:
@@ -18,7 +18,7 @@ def openrndrUseSnapshot = false
|
|||||||
apply plugin: 'org.jetbrains.dokka'
|
apply plugin: 'org.jetbrains.dokka'
|
||||||
|
|
||||||
project.ext {
|
project.ext {
|
||||||
openrndrVersion = openrndrUseSnapshot? "0.4.0-SNAPSHOT" : "0.3.47-rc.1"
|
openrndrVersion = openrndrUseSnapshot? "0.4.0-SNAPSHOT" : "0.3.47-rc.2"
|
||||||
kotlinVersion = "1.4.31"
|
kotlinVersion = "1.4.31"
|
||||||
spekVersion = "2.0.15"
|
spekVersion = "2.0.15"
|
||||||
libfreenectVersion = "0.5.7-1.5.4"
|
libfreenectVersion = "0.5.7-1.5.4"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package org.openrndr.extras.color.spaces
|
package org.openrndr.extras.color.spaces
|
||||||
|
|
||||||
import org.openrndr.color.*
|
import org.openrndr.color.*
|
||||||
|
import org.openrndr.math.CastableToVector4
|
||||||
|
import org.openrndr.math.Vector4
|
||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -8,6 +10,7 @@ import kotlin.math.pow
|
|||||||
*/
|
*/
|
||||||
data class ColorOKLABa(val l: Double, val a: Double, val b: Double, val alpha: Double = 1.0) :
|
data class ColorOKLABa(val l: Double, val a: Double, val b: Double, val alpha: Double = 1.0) :
|
||||||
ConvertibleToColorRGBa,
|
ConvertibleToColorRGBa,
|
||||||
|
CastableToVector4,
|
||||||
ShadableColor<ColorOKLABa>,
|
ShadableColor<ColorOKLABa>,
|
||||||
OpacifiableColor<ColorOKLABa>,
|
OpacifiableColor<ColorOKLABa>,
|
||||||
AlgebraicColor<ColorOKLABa> {
|
AlgebraicColor<ColorOKLABa> {
|
||||||
@@ -57,6 +60,8 @@ data class ColorOKLABa(val l: Double, val a: Double, val b: Double, val alpha: D
|
|||||||
override fun minus(right: ColorOKLABa) = ColorOKLABa(l - right.l, a - right.a, b - right.b, alpha - right.alpha)
|
override fun minus(right: ColorOKLABa) = ColorOKLABa(l - right.l, a - right.a, b - right.b, alpha - right.alpha)
|
||||||
override fun plus(right: ColorOKLABa) = ColorOKLABa(l + right.l, a + right.a, b + right.b, alpha + right.alpha)
|
override fun plus(right: ColorOKLABa) = ColorOKLABa(l + right.l, a + right.a, b + right.b, alpha + right.alpha)
|
||||||
override fun times(scale: Double) = ColorOKLABa(l * scale, a * scale, b * scale, alpha * scale)
|
override fun times(scale: Double) = ColorOKLABa(l * scale, a * scale, b * scale, alpha * scale)
|
||||||
|
|
||||||
|
override fun toVector4() = Vector4(l, a, b, alpha)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun ColorRGBa.toOKLABa() = ColorOKLABa.fromRGBa(this)
|
fun ColorRGBa.toOKLABa() = ColorOKLABa.fromRGBa(this)
|
||||||
Reference in New Issue
Block a user