From 7a5ba2c4e2c7e539df856becb4d3bfe8ad8d2292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Przemys=C5=82aw=20Pluta?= Date: Wed, 3 Feb 2021 23:54:42 +0100 Subject: [PATCH] [Editor] Add support for map scaling --- .../base/editor/view/fragment/MapFragment.kt | 14 ++++++++++---- .../base/editor/view/main/MainView.kt | 13 +++++++++++++ .../base/editor/view/render/renderer/Renderer.kt | 1 - 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/fragment/MapFragment.kt b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/fragment/MapFragment.kt index c9e0caf3..b7b1d39a 100755 --- a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/fragment/MapFragment.kt +++ b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/fragment/MapFragment.kt @@ -2,13 +2,18 @@ package com.bartlomiejpluta.base.editor.view.fragment import com.bartlomiejpluta.base.editor.model.map.map.GameMap import com.bartlomiejpluta.base.editor.view.component.map.MapPane -import tornadofx.Fragment -import tornadofx.group -import tornadofx.plusAssign -import tornadofx.scrollpane +import javafx.beans.property.SimpleDoubleProperty +import javafx.scene.transform.Scale +import tornadofx.* class MapFragment : Fragment() { private val pane = MapPane() + val scaleProperty = SimpleDoubleProperty(1.0) + + private val transformation = Scale(1.0, 1.0, 0.0, 0.0).apply { + xProperty().bind(scaleProperty) + yProperty().bind(scaleProperty) + } fun updateMap(map: GameMap) { pane.updateMap(map) @@ -21,6 +26,7 @@ class MapFragment : Fragment() { group { group { this += pane + transforms += transformation } } } diff --git a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/main/MainView.kt b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/main/MainView.kt index 3ab69201..0df038b2 100755 --- a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/main/MainView.kt +++ b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/main/MainView.kt @@ -21,7 +21,20 @@ class MainView : View() { mapFragment.updateMap(mapController.getMap(2)) } } + + button("+") { + action { + mapFragment.scaleProperty.value += 0.1 + } + } + + button("-") { + action { + mapFragment.scaleProperty.value -= 0.1 + } + } } + center = mapFragment.root } } \ No newline at end of file diff --git a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/render/renderer/Renderer.kt b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/render/renderer/Renderer.kt index f9712f83..abc61877 100755 --- a/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/render/renderer/Renderer.kt +++ b/editor/src/main/kotlin/com/bartlomiejpluta/base/editor/view/render/renderer/Renderer.kt @@ -13,7 +13,6 @@ class Renderer( override fun handle(now: Long) { val dt = (now - previous) / 1000000000.0 previous = now - gc.isImageSmoothing = false render() }