[orx-jvm] Move panel, gui, dnk3, keyframer, triangulation to orx-jvm

This commit is contained in:
Edwin Jakobs
2021-06-27 21:32:24 +02:00
parent 5814acef8f
commit 874d49779f
159 changed files with 22 additions and 21 deletions

View File

@@ -0,0 +1,52 @@
import org.openrndr.application
import org.openrndr.extensions.SingleScreenshot
import org.openrndr.extra.keyframer.Keyframer
import org.openrndr.panel.controlManager
import org.openrndr.panel.elements.Range
import org.openrndr.panel.elements.Slider
import org.openrndr.panel.elements.slider
import org.openrndr.resourceUrl
import java.net.URL
suspend fun main() = application {
program {
// -- replace the default clock with an offset clock
var clockOffset = 0.0
val oldClock = clock
clock = { oldClock() - clockOffset }
var clockSlider: Slider? = null
// -- setup a simple UI
val cm = controlManager {
layout {
clockSlider = slider {
range = Range(0.0, 30.0)
events.valueChanged.listen {
if (it.interactive) {
clockOffset = oldClock() - it.newValue
}
}
}
}
}
if (System.getProperty("takeScreenshot") == "true") {
extend(SingleScreenshot()) {
this.outputFile = System.getProperty("screenshotPath")
}
}
extend(cm)
class Animation: Keyframer() {
val position by Vector2Channel(arrayOf("x", "y"))
}
val animation = Animation()
animation.loadFromJson(URL(resourceUrl("/demo-simple-01.json")))
extend {
// -- update the slider
clockSlider?.value = seconds
animation(seconds)
drawer.circle(animation.position, 100.0)
}
}
}