diff --git a/apps/documentViewerKorge/build.gradle.kts b/apps/documentViewerKorge/build.gradle.kts new file mode 100644 index 0000000..5377557 --- /dev/null +++ b/apps/documentViewerKorge/build.gradle.kts @@ -0,0 +1,13 @@ +import korlibs.korge.gradle.korge +import korlibs.korge.gradle.targets.jvm.JvmAddOpens +import korlibs.korge.gradle.targets.jvm.JvmAddOpens.beforeJava9 +import korlibs.korge.gradle.targets.jvm.KorgeJavaExec + +plugins { + id("com.soywiz.korge") version "5.3.0" +} + +korge { + targetJvm() + serializationJson() +} \ No newline at end of file diff --git a/apps/documentViewerKorge/src/jvmMain/kotlin/de/itkl/documentViewerKorge/main.kt b/apps/documentViewerKorge/src/jvmMain/kotlin/de/itkl/documentViewerKorge/main.kt new file mode 100644 index 0000000..4ab2eb4 --- /dev/null +++ b/apps/documentViewerKorge/src/jvmMain/kotlin/de/itkl/documentViewerKorge/main.kt @@ -0,0 +1,37 @@ +import korlibs.time.* +import korlibs.korge.* +import korlibs.korge.scene.* +import korlibs.korge.tween.* +import korlibs.korge.view.* +import korlibs.image.color.* +import korlibs.image.format.* +import korlibs.io.file.std.* +import korlibs.math.geom.* +import korlibs.math.interpolation.* + +suspend fun main() { + Korge(windowSize = Size(512, 512), backgroundColor = Colors["#2b2b2b"]) { + val sceneContainer = sceneContainer() + + sceneContainer.changeTo({ MyScene() }) + } +} + +class MyScene : Scene() { + override suspend fun SContainer.sceneMain() { + val minDegrees = (-18).degrees + val maxDegrees = (+16).degrees + + val image = image(resourcesVfs["kitten_pixelated.png"].readBitmap()) { + rotation = maxDegrees + anchor(.5, .5) + scale(0.8) + position(256, 256) + } + + while (true) { + image.tween(image::rotation[minDegrees], time = 1.seconds, easing = Easing.EASE_IN_OUT) + image.tween(image::rotation[maxDegrees], time = 1.seconds, easing = Easing.EASE_IN_OUT) + } + } +} \ No newline at end of file diff --git a/apps/documentViewerKorge/src/jvmMain/resources/kitten_pixelated.png b/apps/documentViewerKorge/src/jvmMain/resources/kitten_pixelated.png new file mode 100644 index 0000000..fecc618 Binary files /dev/null and b/apps/documentViewerKorge/src/jvmMain/resources/kitten_pixelated.png differ diff --git a/build.gradle.kts b/build.gradle.kts index bfe148d..832ce8c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,5 +3,8 @@ project(":libraries").subprojects { } project(":apps").subprojects { - apply(plugin = "docthor.kotlin-application-conventions") + if(name != "documentViewerKorge") { + apply(plugin = "docthor.kotlin-application-conventions") + } + } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c7fb9b4..52245e5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,6 +8,9 @@ batik = "1.17" versionchecker = "0.50.0" mavenpublish = "0.25.3" +[plugins] +korge = { id = "com.soywiz.korge", version = "5.3.0" } + [libraries] compose-desktop = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose" } kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } diff --git a/settings.gradle.kts b/settings.gradle.kts index d5377eb..fe68a8b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,11 @@ + +pluginManagement { + repositories { + mavenCentral(); + google(); + gradlePluginPortal() } +} + plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.4.0" }