Files
orx/orx-time-operators/src/demo/kotlin/DemoLFO.kt
Abe Pazos c8f7dd52c6 Demos: ensure all use fun main() = application {
- Adjust some demo window sizes.
- Replace Random.double by Double.uniform
- Tweak some demos so screenshots look more interesting
2025-01-26 20:57:04 +01:00

37 lines
1.1 KiB
Kotlin

import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.draw.isolated
import org.openrndr.extensions.SingleScreenshot
import org.openrndr.extra.timeoperators.LFO
import org.openrndr.extra.timeoperators.LFOWave
import org.openrndr.extra.timeoperators.TimeOperators
fun main() = application {
program {
val size = LFO()
val rotation = LFO(LFOWave.Sine)
if (System.getProperty("takeScreenshot") == "true") {
extensions.filterIsInstance<SingleScreenshot>().forEach {
it.delayFrames = 10
}
}
extend(TimeOperators()) {
track(size, rotation)
}
extend {
drawer.isolated {
drawer.stroke = ColorRGBa.PINK
drawer.fill = ColorRGBa.PINK
drawer.translate(width / 2.0, height / 2.0)
drawer.rotate(rotation.sample() * 180.0)
val side = (size.sample(0.5) * 400.0) / 2.0
val offset = side / 2.0
drawer.rectangle(0.0 - offset, 0.0 - offset, side, side)
}
}
}
}