- Adjust some demo window sizes. - Replace Random.double by Double.uniform - Tweak some demos so screenshots look more interesting
43 lines
1.3 KiB
Kotlin
43 lines
1.3 KiB
Kotlin
import org.openrndr.application
|
|
import org.openrndr.color.ColorRGBa
|
|
import org.openrndr.color.rgb
|
|
import org.openrndr.extra.shadestyles.NPointRadialGradient
|
|
import org.openrndr.shape.Circle
|
|
import kotlin.random.Random
|
|
|
|
/**
|
|
* Demonstrate using a multicolor radial gradient.
|
|
* The gradient has 5 colors (first and last ones are transparent).
|
|
* Any of the properties can be animated, including colors and points.
|
|
* See DemoNPointLinearGradient01.kt for an example of animated properties.
|
|
*/
|
|
fun main() = application {
|
|
program {
|
|
val gradient = NPointRadialGradient(
|
|
arrayOf(
|
|
ColorRGBa.PINK.opacify(0.0),
|
|
ColorRGBa.PINK, ColorRGBa.WHITE, ColorRGBa.PINK,
|
|
ColorRGBa.PINK.opacify(0.0)
|
|
), arrayOf(0.0, 0.4, 0.5, 0.6, 1.0)
|
|
)
|
|
|
|
val circles = List(25) {
|
|
Circle(
|
|
Random.nextDouble() * drawer.width,
|
|
Random.nextDouble() * drawer.height,
|
|
Random.nextDouble() * 150.0
|
|
)
|
|
}
|
|
|
|
extend {
|
|
drawer.run {
|
|
clear(rgb(0.2))
|
|
shadeStyle = gradient
|
|
fill = ColorRGBa.WHITE
|
|
stroke = null
|
|
circles(circles)
|
|
}
|
|
}
|
|
}
|
|
}
|