KorGE 2.2.0.0

This commit is contained in:
soywiz
2021-06-26 17:57:09 +02:00
parent b3f007ee30
commit 2ecfcf585a
8 changed files with 47 additions and 14 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -1 +1,2 @@
/build
/bundles

View File

@@ -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.*

View File

@@ -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.*

View File

@@ -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<Point>()
val _points = arrayListOf<Point>()
val pointLists = arrayListOf<List<Point>>()
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<List<Point>> = 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")
}

View File

@@ -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

View File

@@ -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)
}
}