[orx-parameters, orx-property-watchers, orx-file-watcher, orx-gui] Add @PathParameter, file watcher delegates and property delegates
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import org.openrndr.application
|
||||
import org.openrndr.color.ColorRGBa
|
||||
import org.openrndr.draw.grayscale
|
||||
import org.openrndr.draw.tint
|
||||
import org.openrndr.drawImage
|
||||
import org.openrndr.extra.propertywatchers.watchingImagePath
|
||||
import org.openrndr.extra.propertywatchers.watchingProperty
|
||||
|
||||
fun main() {
|
||||
application {
|
||||
program {
|
||||
val state = object {
|
||||
var path = "demo-data/images/image-001.png"
|
||||
val image by watchingImagePath(::path) {
|
||||
drawImage(it.width, it.height) {
|
||||
drawer.drawStyle.colorMatrix = grayscale()
|
||||
drawer.image(it)
|
||||
}
|
||||
}
|
||||
val redImage by watchingProperty(::image, cleaner = { it.destroy() }) {
|
||||
drawImage(it.width, it.height) {
|
||||
drawer.drawStyle.colorMatrix = tint(ColorRGBa.RED)
|
||||
drawer.image(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extend {
|
||||
drawer.image(state.redImage)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user