From 8dbe0c59fa3b3b18241a6f143b47c5d536e6dba8 Mon Sep 17 00:00:00 2001 From: Timo Bryant Date: Thu, 4 Jan 2024 14:30:47 +0100 Subject: [PATCH] add korge project --- apps/documentViewerKorge/build.gradle.kts | 13 ++++++ .../de/itkl/documentViewerKorge/main.kt | 37 ++++++++++++++++++ .../jvmMain/resources/kitten_pixelated.png | Bin 0 -> 4239 bytes build.gradle.kts | 5 ++- gradle/libs.versions.toml | 3 ++ settings.gradle.kts | 8 ++++ 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 apps/documentViewerKorge/build.gradle.kts create mode 100644 apps/documentViewerKorge/src/jvmMain/kotlin/de/itkl/documentViewerKorge/main.kt create mode 100644 apps/documentViewerKorge/src/jvmMain/resources/kitten_pixelated.png 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 0000000000000000000000000000000000000000..fecc6186de32b0421fc59ed99e230d6f8a56e915 GIT binary patch literal 4239 zcmeAS@N?(olHy`uVBq!ia0y~yU{(NO4mP03?Eo{h^%I;9ZPj88 zk%(DWD0;j}H|Pmt2&)*6-tnmq`~;XzUwc2N`up#B56+*PWBvQ_n=+tnqhNT1Kz^R2 zZNucveR2ky{qt%~uFkCf^|pMmy3gCm(el0XHhlbY`~95tkBzQYvd=gw@5T@Gv>rbr z69YpE3kL(k1VIG`1_!qWps3`a7L0V`fAD0@Vs@Ed_xJy^tU7c|-u}<)7o5`J>*Kyk ze~{9T+w;Lre&Wq@*Uy=YJ(zlD@Oubrz~AhbW0-#O?(TAT{~Hy5etfj5I(#OrI*y@$ zYbg6D|MK_yHNZIg|1;rBLvLv;&~rP=-`@kq-u!*v4+E+D^~Trb7%GJG92giHdKefP z7>t-$7#L1)2rw`xC=Y(YH}3omr=MJ0><-Fym%rCZ*fKIyoF3XycKmz2jBVoMzxMmB zfw^t}|Ie3Sa0dT=^!k4vuuQpn|DQ<})1SP&nB7J|*_%I)f>J7wx2fk|!HYM4lD@Fi zF`Fw4jiLoTCw^PZ&amgp$G`Hxbo%4bYhYe%m|R*`x3LfCwVQ`ugW~vG^YdWa^>_2O z_sAWXUCcb>N>i|x)1dW6K}PKIS;lkc|Nr>?qOjS$pKm^26t+k@{b=$xEAw@+GhgwS zl+_tt<^Qs|{W>V;{(bQC1?T43uWFxNFC3~qx36MY{`A~j>(eiI+oz>Qy60PLSr>fv z=HAaYpD$J~I5I7D)#H8D-#+{TCi&e!|AyE*%)5SZ=IaB+SB7w=K9E`Y>B&i8aciD` zFUAe%Wu4Q&T)VJzZWf>WvERip^WOdgW#+f+=iU8h-0IB^U-qkR?%epEc?UR$Y(z`i zGU&}L{nFt4+Ulyz1EI)iFaNR5%oCWSHKYqCV9Wud@%1iXQT*_Iag2?AL->#_gn(I* z;do}`w2Q(F7EVL80id&({eUX43C^&8@y&gT=fw9P&3SJ;M`ws8GKNtwTtYymHJ)MR Wqsp$oLD!ao{N(BC=d#Wzp$Pyq=A&W& literal 0 HcmV?d00001 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" }