diff --git a/gradle.properties b/gradle.properties index 9273810..a88dd5c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ -korgePluginVersion=2.1.1.3 +korgePluginVersion=2.2.0.0 #korgePluginVersion=2.0.0.999 +#korgePluginVersion=2.0.0.888 web.bind.port=8080 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0f80bbf..69a9715 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/samples/box2d/.gitignore b/samples/box2d/.gitignore index 796b96d..4c48eaf 100644 --- a/samples/box2d/.gitignore +++ b/samples/box2d/.gitignore @@ -1 +1,2 @@ /build +/bundles diff --git a/samples/text-metrics/src/commonMain/kotlin/main.kt b/samples/text-metrics/src/commonMain/kotlin/main.kt index c35ae0e..7f7fdf9 100644 --- a/samples/text-metrics/src/commonMain/kotlin/main.kt +++ b/samples/text-metrics/src/commonMain/kotlin/main.kt @@ -2,6 +2,7 @@ import com.soywiz.korev.* import com.soywiz.korge.* import com.soywiz.korge.scene.* import com.soywiz.korge.ui.* +import com.soywiz.korge.ui.korui.* import com.soywiz.korge.view.* import com.soywiz.korgw.* import com.soywiz.korim.bitmap.effect.* diff --git a/samples/text/src/commonMain/kotlin/main.kt b/samples/text/src/commonMain/kotlin/main.kt index c35ae0e..7f7fdf9 100644 --- a/samples/text/src/commonMain/kotlin/main.kt +++ b/samples/text/src/commonMain/kotlin/main.kt @@ -2,6 +2,7 @@ import com.soywiz.korev.* import com.soywiz.korge.* import com.soywiz.korge.scene.* import com.soywiz.korge.ui.* +import com.soywiz.korge.ui.korui.* import com.soywiz.korge.view.* import com.soywiz.korgw.* import com.soywiz.korim.bitmap.effect.* diff --git a/samples/triangulation/src/commonMain/kotlin/main.kt b/samples/triangulation/src/commonMain/kotlin/main.kt index f6ca850..abe5ace 100644 --- a/samples/triangulation/src/commonMain/kotlin/main.kt +++ b/samples/triangulation/src/commonMain/kotlin/main.kt @@ -4,18 +4,21 @@ import com.soywiz.korge.view.* import com.soywiz.korim.color.* import com.soywiz.korim.vector.* import com.soywiz.korma.geom.* +import com.soywiz.korma.geom.shape.* import com.soywiz.korma.geom.vector.* import com.soywiz.korma.triangle.triangulate.* +import com.soywiz.korma.triangle.poly2tri.* suspend fun main() = Korge(width = 512, height = 512) { val stage = this - textOld("Add Points by clicking with the mouse", 14.0).position(5.0, 5.0) + text("Add Points by clicking with the mouse", 14.0).position(5.0, 5.0) graphics { val graphics = this graphics.useNativeRendering = false position(100, 100) - val points = arrayListOf() + val _points = arrayListOf() + val pointLists = arrayListOf>() var additionalPoint: Point? = null @@ -28,7 +31,7 @@ suspend fun main() = Korge(width = 512, height = 512) { } */ - val edges = points + listOfNotNull(additionalPoint) + val edges = _points + listOfNotNull(additionalPoint) for (point in edges) { fill(Colors.RED) { @@ -37,12 +40,28 @@ suspend fun main() = Korge(width = 512, height = 512) { } if (finished) { - println("Points: $points") + println("Points: $_points") } - if (points.size >= 3) { + if (_points.size >= 3 || pointLists.isNotEmpty()) { stroke(Colors.GREEN, StrokeInfo(thickness = 1.0)) { - for (triangle in points.triangulate()) { + val path = buildPath { + val pl: List> = pointLists + listOf(_points) + for (points in pl) { + var first = true + for (p in points) { + if (first) { + first = false + moveTo(p) + } else { + lineTo(p) + } + } + close() + } + } + + for (triangle in path.triangulateSafe()) { val p0 = Point(triangle.p0) val p1 = Point(triangle.p1) val p2 = Point(triangle.p2) @@ -64,9 +83,14 @@ suspend fun main() = Korge(width = 512, height = 512) { } stage.mouse { - onClick { - points.add(graphics.localMouseXY(views)) - repaint(finished = true) + click { + if (it.button.isRight) { + pointLists.add(_points.toList()) + _points.clear() + } else { + _points.add(graphics.localMouseXY(views)) + repaint(finished = true) + } //println("CLICK") } diff --git a/samples/ui/src/commonMain/kotlin/KorUiSample.kt b/samples/ui/src/commonMain/kotlin/KorUiSample.kt index 6f4b2cc..f95c646 100644 --- a/samples/ui/src/commonMain/kotlin/KorUiSample.kt +++ b/samples/ui/src/commonMain/kotlin/KorUiSample.kt @@ -1,5 +1,6 @@ import com.soywiz.korge.Korge -import com.soywiz.korge.ui.korui +import com.soywiz.korge.ui.* +import com.soywiz.korge.ui.korui.* import com.soywiz.korge.view.fixedSizeContainer import com.soywiz.korgw.GameWindow import com.soywiz.korui.button diff --git a/samples/ui/src/commonMain/kotlin/main.kt b/samples/ui/src/commonMain/kotlin/main.kt index 2e941f0..4bcf6cc 100644 --- a/samples/ui/src/commonMain/kotlin/main.kt +++ b/samples/ui/src/commonMain/kotlin/main.kt @@ -65,11 +65,15 @@ suspend fun main() = Korge(quality = GameWindow.Quality.PERFORMANCE, title = "UI position(480, 32) } - uiScrollableArea(config = { + uiTextInput("A simple TextInput") { + position(480, 64) + } + + uiScrollable(config = { position(480, 128) }) { for (n in 0 until 16) { - uiButton(text = "HELLO $n").position(0, n * 64) + uiButton(text = "HELLO $n").position(n * 16, n * 32) } }