Skip to content

Commit 44ab816

Browse files
committed
disable full screen from settings and fixed a few bugs
1 parent 031d304 commit 44ab816

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ antlr4 = { module = "org.antlr:antlr4", version.ref = "antlr" }
2626
antlr4Runtime = { module = "org.antlr:antlr4-runtime", version.ref = "antlr" }
2727
composeGradlePlugin = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-plugin" }
2828
kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
29+
kotlinComposePlugin = { module = "org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin", version.ref = "kotlin" }
2930

3031
[plugins]
3132
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }

java/gradle/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies{
1616

1717
implementation(libs.composeGradlePlugin)
1818
implementation(libs.kotlinGradlePlugin)
19+
implementation(libs.kotlinComposePlugin)
1920
}
2021

2122
gradlePlugin{

java/gradle/src/main/kotlin/ProcessingPlugin.kt

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import org.gradle.api.model.ObjectFactory
99
import org.gradle.api.plugins.JavaPlugin
1010
import org.gradle.api.plugins.JavaPluginExtension
1111
import org.jetbrains.compose.ComposeExtension
12+
import org.jetbrains.compose.ComposePlugin
1213
import org.jetbrains.compose.desktop.DesktopExtension
14+
import org.jetbrains.kotlin.konan.properties.saveToFile
1315
import java.io.File
1416
import java.util.*
1517
import javax.inject.Inject
@@ -23,8 +25,9 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
2325

2426
project.plugins.apply("org.jetbrains.compose")
2527
project.plugins.apply("org.jetbrains.kotlin.jvm")
28+
project.plugins.apply("org.jetbrains.kotlin.plugin.compose")
2629

27-
project.dependencies.add("implementation", "org.processing:core:4.3.1")
30+
project.dependencies.add("implementation", "org.processing:core:4.4.0")
2831
project.dependencies.add("implementation", project.fileTree("src").apply { include("**/code/*.jar") })
2932

3033
// Base JOGL and Gluegen dependencies
@@ -53,6 +56,7 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
5356

5457
project.repositories.add(project.repositories.maven { it.setUrl("https://jogamp.org/deployment/maven") })
5558
project.repositories.add(project.repositories.mavenCentral())
59+
project.repositories.add(project.repositories.mavenLocal())
5660

5761
project.extensions.configure(ComposeExtension::class.java) { extension ->
5862
extension.extensions.getByType(DesktopExtension::class.java).application { application ->
@@ -72,15 +76,22 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
7276
dependsOn("run")
7377
}
7478
project.tasks.create("present").apply {
75-
// TODO: Implement dynamic fullscreen by setting the properties and recompiling the sketch every run
79+
// TODO: Implement dynamic fullscreen by adding an argument to the task. This will require a change to core
7680
group = "processing"
7781
description = "Presents the Processing sketch"
7882
dependsOn("run")
7983
}
8084
project.tasks.create("export").apply {
8185
group = "processing"
8286
description = "Creates a distributable version of the Processing sketch"
87+
8388
dependsOn("createDistributable")
89+
doLast{
90+
project.copy {
91+
it.from(project.tasks.named("createDistributable").get().outputs.files)
92+
it.into(project.layout.projectDirectory)
93+
}
94+
}
8495
}
8596

8697
project.extensions.getByType(JavaPluginExtension::class.java).sourceSets.all { sourceSet ->
@@ -127,6 +138,10 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
127138
val preferences = File(settingsFolder, "preferences.txt")
128139
val prefs = Properties()
129140
prefs.load(preferences.inputStream())
141+
prefs.setProperty("export.application.fullscreen", "false")
142+
prefs.setProperty("export.application.present", "false")
143+
prefs.setProperty("export.application.stop", "false")
144+
prefs.store(preferences.outputStream(), null)
130145

131146
val sketchbook = prefs.getProperty("sketchbook.path.four")
132147

0 commit comments

Comments
 (0)