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