INNER CODE UNIT · Kotlin
Double
fjossinet/RNArtist · src/main/kotlin/RNArtist.kt:434
val transX: Double = mouseEvent.x - mediator.canvas2D.transX
val transY: Double = mouseEvent.y - mediator.canvas2D.transY
it.workingSession.moveView(transX, transY)
mediator.canvas2D.transX = mouseEvent.x
mediator.canvas2D.transY = mouseEvent.y
mediator.canvas2D.repaint()
}
}
}
swingNode.onMouseReleased = EventHandler { mouseEvent: MouseEvent ->
mediator.currentDrawing.get()?.let mouseClicked@{ drawing ->
if (mouseEvent.button == MouseButton.PRIMARY) {
mediator.canvas2D.zoomArea?.let {
if (it.width > 0.0 || it.height > 0.0) { //if the user has started to define a zoom area we hide it and return
val zoomLevel = Math.min(
drawing.secondaryStructureDrawing.workingSession.zoomLevel*mediator.canvas2D.canvasWidth.toDouble() / it.width,
drawing.secondaryStructureDrawing.workingSession.zoomLevel*mediator.canvas2D.canvasHeight.toDouble() / it.height)