aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-09-27 12:06:00 +0530
committerAkshay Nair <phenax5@gmail.com>2026-09-28 01:48:05 +0530
commit5f41d4cded56121af66b18c232c7f557ab803f94 (patch)
treeb0b48b4e3b453f7786ba0e1a21c0b2301b06d895 /src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
parentaff909363f2fb647420105862432ab3e9d6ca1ed (diff)
downloadart-playground-openrndr-5f41d4cded56121af66b18c232c7f557ab803f94.tar.gz
art-playground-openrndr-5f41d4cded56121af66b18c232c7f557ab803f94.zip
Add headless screenshot + fix scaling for antialiasing for vacation
Diffstat (limited to '')
-rw-r--r--src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt b/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
new file mode 100644
index 0000000..35de05d
--- /dev/null
+++ b/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
@@ -0,0 +1,30 @@
+package phenax.extensions
+
+import org.openrndr.*
+import org.openrndr.draw.*
+import org.openrndr.extensions.SingleScreenshot
+import org.openrndr.ffmpeg.VideoWriter
+
+class HeadlessScreenshot : Extension {
+ override var enabled: Boolean = true
+
+ var screenshots: SingleScreenshot? = null
+ var videoWriter: VideoWriter? = null
+ var maxFrameCount: Int? = null
+
+ override fun setup(program: Program) {
+ val scr = SingleScreenshot()
+ screenshots = scr
+ program.extend(scr) {
+ outputFile = "screenshot/${program.name}.png"
+ }
+ }
+
+ override fun beforeDraw(drawer: Drawer, program: Program) {}
+
+ override fun afterDraw(drawer: Drawer, program: Program) {
+ screenshots?.trigger()
+
+ // program.application.exit()
+ }
+}