From 0a7741140614548a820950e45dc06d2689d12660 Mon Sep 17 00:00:00 2001 From: Edwin Jakobs Date: Thu, 27 Oct 2022 22:31:47 +0200 Subject: [PATCH] [orx-camera] Add setupMouseEvents to Camera2D --- orx-camera/src/commonMain/kotlin/Camera2D.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/orx-camera/src/commonMain/kotlin/Camera2D.kt b/orx-camera/src/commonMain/kotlin/Camera2D.kt index 31418623..9887c136 100644 --- a/orx-camera/src/commonMain/kotlin/Camera2D.kt +++ b/orx-camera/src/commonMain/kotlin/Camera2D.kt @@ -1,6 +1,7 @@ package org.openrndr.extra.camera import org.openrndr.Extension +import org.openrndr.MouseEvents import org.openrndr.Program import org.openrndr.draw.Drawer import org.openrndr.math.Matrix44 @@ -16,11 +17,12 @@ import org.openrndr.math.transforms.buildTransform class Camera2D : Extension { override var enabled = true var view = Matrix44.IDENTITY - override fun setup(program: Program) { - program.mouse.dragged.listen { + + fun setupMouseEvents(mouse: MouseEvents) { + mouse.dragged.listen { view = buildTransform { translate(it.dragDisplacement) } * view } - program.mouse.scrolled.listen { + mouse.scrolled.listen { val scaleFactor = 1.0 - it.rotation.y * 0.03 view = buildTransform { translate(it.position) @@ -29,6 +31,9 @@ class Camera2D : Extension { } * view } } + override fun setup(program: Program) { + setupMouseEvents(program.mouse) + } override fun beforeDraw(drawer: Drawer, program: Program) { drawer.view = view