mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-22 05:23:14 +00:00
Use Control + Wheel to change brush size - implements #776
This is not editable in the shortcut settings and it is temporary way of doing this and it will change in Godot 4.x.
This commit is contained in:
parent
927e4f45a6
commit
8732d366bf
3 changed files with 32 additions and 2 deletions
|
@ -60,6 +60,7 @@ value = 1.0
|
||||||
allow_greater = true
|
allow_greater = true
|
||||||
prefix = "Size:"
|
prefix = "Size:"
|
||||||
suffix = "px"
|
suffix = "px"
|
||||||
|
is_global = true
|
||||||
|
|
||||||
[node name="ColorInterpolation" parent="." index="3" instance=ExtResource( 1 )]
|
[node name="ColorInterpolation" parent="." index="3" instance=ExtResource( 1 )]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
|
@ -115,9 +115,9 @@ func _input(event: InputEvent) -> void:
|
||||||
drag = true
|
drag = true
|
||||||
elif event.is_action_released("pan"):
|
elif event.is_action_released("pan"):
|
||||||
drag = false
|
drag = false
|
||||||
elif event.is_action_pressed("zoom_in"): # Wheel Up Event
|
elif event.is_action_pressed("zoom_in", false, true): # Wheel Up Event
|
||||||
zoom_camera(-1)
|
zoom_camera(-1)
|
||||||
elif event.is_action_pressed("zoom_out"): # Wheel Down Event
|
elif event.is_action_pressed("zoom_out", false, true): # Wheel Down Event
|
||||||
zoom_camera(1)
|
zoom_camera(1)
|
||||||
|
|
||||||
elif event is InputEventMagnifyGesture: # Zoom Gesture on a Laptop touchpad
|
elif event is InputEventMagnifyGesture: # Zoom Gesture on a Laptop touchpad
|
||||||
|
|
|
@ -21,6 +21,10 @@ export var snap_by_default := false
|
||||||
export var show_progress := true
|
export var show_progress := true
|
||||||
export var show_arrows := true setget _show_arrows_changed
|
export var show_arrows := true setget _show_arrows_changed
|
||||||
export var echo_arrow_time := 0.075
|
export var echo_arrow_time := 0.075
|
||||||
|
# This will be replaced with input action strings in Godot 4.x
|
||||||
|
# Right now this is only used for changing the brush size with Control + Wheel
|
||||||
|
# In Godot 4.x, the shortcut will be editable
|
||||||
|
export var is_global := false
|
||||||
|
|
||||||
var state := NORMAL
|
var state := NORMAL
|
||||||
var arrow_is_held := 0 # Used for arrow button echo behavior. Is 1 for ValueUp, -1 for ValueDown.
|
var arrow_is_held := 0 # Used for arrow button echo behavior. Is 1 for ValueUp, -1 for ValueDown.
|
||||||
|
@ -30,6 +34,7 @@ onready var timer: Timer = $Timer
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
set_process_input(is_global)
|
||||||
_reset_display()
|
_reset_display()
|
||||||
if not Engine.editor_hint: # Pixelorama specific code
|
if not Engine.editor_hint: # Pixelorama specific code
|
||||||
$ValueUp.modulate = Global.modulate_icon_color
|
$ValueUp.modulate = Global.modulate_icon_color
|
||||||
|
@ -41,6 +46,30 @@ func _notification(what: int) -> void:
|
||||||
_reset_display()
|
_reset_display()
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if not editable:
|
||||||
|
return
|
||||||
|
# Hardcode Control + Wheel as a global shortcut, if is_global is true
|
||||||
|
# In Godot 4.x this will change into two is_action() checks for incrementing
|
||||||
|
# and decrementing
|
||||||
|
if not event is InputEventMouseButton:
|
||||||
|
return
|
||||||
|
if not event.pressed:
|
||||||
|
return
|
||||||
|
if not event.control:
|
||||||
|
return
|
||||||
|
if event.button_index == BUTTON_WHEEL_UP:
|
||||||
|
if snap_by_default:
|
||||||
|
value += step if event.control else snap_step
|
||||||
|
else:
|
||||||
|
value += snap_step if event.control else step
|
||||||
|
elif event.button_index == BUTTON_WHEEL_DOWN:
|
||||||
|
if snap_by_default:
|
||||||
|
value -= step if event.control else snap_step
|
||||||
|
else:
|
||||||
|
value -= snap_step if event.control else step
|
||||||
|
|
||||||
|
|
||||||
func _gui_input(event: InputEvent) -> void:
|
func _gui_input(event: InputEvent) -> void:
|
||||||
if not editable:
|
if not editable:
|
||||||
return
|
return
|
||||||
|
|
Loading…
Add table
Reference in a new issue