diff --git a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBuilder.kt b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBuilder.kt index c756736d..7d224177 100644 --- a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBuilder.kt +++ b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBuilder.kt @@ -3,7 +3,9 @@ package org.openrndr.extra.shadestyles.fills.gradients import org.openrndr.color.AlgebraicColor import org.openrndr.color.ColorRGBa import org.openrndr.color.ConvertibleToColorRGBa +import org.openrndr.draw.ObservableHashmap import org.openrndr.draw.ShadeStyle +import org.openrndr.draw.StyleParameters import org.openrndr.extra.shadestyles.fills.FillFit import org.openrndr.extra.shadestyles.fills.FillUnits import org.openrndr.extra.shadestyles.fills.SpreadMethod @@ -11,8 +13,12 @@ import org.openrndr.math.CastableToVector4 import org.openrndr.math.Vector4 import kotlin.reflect.KClass -class GradientBuilder(val colorType: KClass) +class GradientBuilder(val colorType: KClass): StyleParameters where C : ConvertibleToColorRGBa, C : AlgebraicColor, C : CastableToVector4 { + override var parameterTypes: ObservableHashmap = ObservableHashmap(mutableMapOf()) {} + override var parameterValues: MutableMap = mutableMapOf() + override var textureBaseIndex: Int = 2 + var stops = mutableMapOf() var fillUnits = FillUnits.BOUNDS @@ -24,6 +30,8 @@ class GradientBuilder(val colorType: KClass) var quantization = 0 private fun setBaseParameters(style: GradientBase) { + style.parameterTypes.putAll(parameterTypes) + style.parameterValues.putAll(parameterValues) style.quantization = quantization style.spreadMethod = spreadMethod.ordinal style.fillUnits = fillUnits.ordinal