From 3ee60fb9297a3a850f0a504a7032f44dc8ad2dea Mon Sep 17 00:00:00 2001 From: slyphax Date: Sun, 1 Nov 2026 19:22:34 +0100 Subject: [PATCH] =?UTF-8?q?PointerEvent:=20Zeige-Eingabe=20f=C3=BCr=20die?= =?UTF-8?q?=20Werkzeuge,=20unabh=C3=A4ngig=20von=20Maus=20oder=20Controlle?= =?UTF-8?q?r?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- editor/pointer_event.gd | 22 ++++++++++++++++++++++ editor/pointer_event.gd.uid | 1 + 2 files changed, 23 insertions(+) create mode 100644 editor/pointer_event.gd create mode 100644 editor/pointer_event.gd.uid diff --git a/editor/pointer_event.gd b/editor/pointer_event.gd new file mode 100644 index 0000000..c336028 --- /dev/null +++ b/editor/pointer_event.gd @@ -0,0 +1,22 @@ +class_name PointerEvent +extends RefCounted +## Eine Zeige-Eingabe für die Karten-Werkzeuge, egal woher sie kommt: Maus am +## PC, Controller-Strahl in VR. position ist immer in Bildpunkten der Kamera, +## die das Werkzeug kennt. + +enum Kind { MOVE, PRESS, RELEASE, SCROLL, CANCEL } + +var kind: Kind = Kind.MOVE +var position := Vector2.ZERO +var shift := false # Mehrfachauswahl, Serienmodus +var ctrl := false # Pinsel umkehren, Raster-Zwang +var command := false # Strg (Mac: Cmd): Auswahl umschalten +var pressure := 1.0 # Pinselstärke 0..1 +var scroll := 0 # +1 = hoch, -1 = runter + + +static func make(p_kind: Kind, p_position: Vector2 = Vector2.ZERO) -> PointerEvent: + var p := PointerEvent.new() + p.kind = p_kind + p.position = p_position + return p diff --git a/editor/pointer_event.gd.uid b/editor/pointer_event.gd.uid new file mode 100644 index 0000000..267e54f --- /dev/null +++ b/editor/pointer_event.gd.uid @@ -0,0 +1 @@ +uid://bvyngbrh1mvje