mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-12 08:43:08 +00:00
Changes in the Rotate image dialog and script
This commit is contained in:
parent
7381311e71
commit
dfc8499d06
|
@ -5,6 +5,9 @@ var shader: Shader = preload("res://src/Shaders/Rotation.shader")
|
||||||
var pivot := Vector2.INF
|
var pivot := Vector2.INF
|
||||||
|
|
||||||
onready var type_option_button: OptionButton = $VBoxContainer/HBoxContainer2/TypeOptionButton
|
onready var type_option_button: OptionButton = $VBoxContainer/HBoxContainer2/TypeOptionButton
|
||||||
|
onready var pivot_indicator: Control = $VBoxContainer/AspectRatioContainer/Indicator
|
||||||
|
onready var x_pivot: SpinBox = $VBoxContainer/Pivot/TitleButtons/XPivot
|
||||||
|
onready var y_pivot: SpinBox = $VBoxContainer/Pivot/TitleButtons/YPivot
|
||||||
onready var angle_hslider: HSlider = $VBoxContainer/AngleOptions/AngleHSlider
|
onready var angle_hslider: HSlider = $VBoxContainer/AngleOptions/AngleHSlider
|
||||||
onready var angle_spinbox: SpinBox = $VBoxContainer/AngleOptions/AngleSpinBox
|
onready var angle_spinbox: SpinBox = $VBoxContainer/AngleOptions/AngleSpinBox
|
||||||
onready var wait_apply_timer = $WaitApply
|
onready var wait_apply_timer = $WaitApply
|
||||||
|
@ -35,9 +38,9 @@ func _about_to_show() -> void:
|
||||||
angle_hslider.value = 0
|
angle_hslider.value = 0
|
||||||
|
|
||||||
|
|
||||||
func decide_pivot():
|
func decide_pivot() -> void:
|
||||||
var size := Global.current_project.size
|
var size := Global.current_project.size
|
||||||
pivot = Vector2(size.x / 2, size.y / 2)
|
pivot = size / 2
|
||||||
|
|
||||||
# Pivot correction in case of even size
|
# Pivot correction in case of even size
|
||||||
if type_option_button.text != "Nearest neighbour (Shader)":
|
if type_option_button.text != "Nearest neighbour (Shader)":
|
||||||
|
@ -59,20 +62,18 @@ func decide_pivot():
|
||||||
if int(selection_rectangle.end.y - selection_rectangle.position.y) % 2 == 0:
|
if int(selection_rectangle.end.y - selection_rectangle.position.y) % 2 == 0:
|
||||||
pivot.y -= 0.5
|
pivot.y -= 0.5
|
||||||
|
|
||||||
$VBoxContainer/Pivot/Options/X/XPivot.value = pivot.x
|
x_pivot.value = pivot.x
|
||||||
$VBoxContainer/Pivot/Options/Y/YPivot.value = pivot.y
|
y_pivot.value = pivot.y
|
||||||
|
|
||||||
|
|
||||||
func commit_action(_cel: Image, _project: Project = Global.current_project) -> void:
|
func commit_action(cel: Image, _project: Project = Global.current_project) -> void:
|
||||||
var angle: float = deg2rad(angle_hslider.value)
|
var angle: float = deg2rad(angle_hslider.value)
|
||||||
# warning-ignore:integer_division
|
|
||||||
# warning-ignore:integer_division
|
|
||||||
|
|
||||||
var selection_size := _cel.get_size()
|
var selection_size := cel.get_size()
|
||||||
var selection_tex := ImageTexture.new()
|
var selection_tex := ImageTexture.new()
|
||||||
|
|
||||||
var image := Image.new()
|
var image := Image.new()
|
||||||
image.copy_from(_cel)
|
image.copy_from(cel)
|
||||||
if _project.has_selection and selection_checkbox.pressed:
|
if _project.has_selection and selection_checkbox.pressed:
|
||||||
var selection_rectangle: Rect2 = _project.get_selection_rectangle()
|
var selection_rectangle: Rect2 = _project.get_selection_rectangle()
|
||||||
selection_size = selection_rectangle.size
|
selection_size = selection_rectangle.size
|
||||||
|
@ -82,16 +83,16 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
|
||||||
|
|
||||||
if type_option_button.text != "Nearest neighbour (Shader)":
|
if type_option_button.text != "Nearest neighbour (Shader)":
|
||||||
image.lock()
|
image.lock()
|
||||||
_cel.lock()
|
cel.lock()
|
||||||
for x in _project.size.x:
|
for x in _project.size.x:
|
||||||
for y in _project.size.y:
|
for y in _project.size.y:
|
||||||
var pos := Vector2(x, y)
|
var pos := Vector2(x, y)
|
||||||
if !_project.can_pixel_get_drawn(pos):
|
if !_project.can_pixel_get_drawn(pos):
|
||||||
image.set_pixelv(pos, Color(0, 0, 0, 0))
|
image.set_pixelv(pos, Color(0, 0, 0, 0))
|
||||||
else:
|
else:
|
||||||
_cel.set_pixelv(pos, Color(0, 0, 0, 0))
|
cel.set_pixelv(pos, Color(0, 0, 0, 0))
|
||||||
image.unlock()
|
image.unlock()
|
||||||
_cel.unlock()
|
cel.unlock()
|
||||||
match type_option_button.text:
|
match type_option_button.text:
|
||||||
"Rotxel":
|
"Rotxel":
|
||||||
DrawingAlgos.rotxel(image, angle, pivot)
|
DrawingAlgos.rotxel(image, angle, pivot)
|
||||||
|
@ -100,20 +101,18 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
|
||||||
"Upscale, Rotate and Downscale":
|
"Upscale, Rotate and Downscale":
|
||||||
DrawingAlgos.fake_rotsprite(image, angle, pivot)
|
DrawingAlgos.fake_rotsprite(image, angle, pivot)
|
||||||
"Nearest neighbour (Shader)":
|
"Nearest neighbour (Shader)":
|
||||||
|
var params := {
|
||||||
|
"angle": angle,
|
||||||
|
"selection_tex": selection_tex,
|
||||||
|
"selection_pivot": pivot,
|
||||||
|
"selection_size": selection_size
|
||||||
|
}
|
||||||
if !confirmed:
|
if !confirmed:
|
||||||
preview.material.set_shader_param("angle", angle)
|
for param in params:
|
||||||
preview.material.set_shader_param("selection_tex", selection_tex)
|
preview.material.set_shader_param(param, params[param])
|
||||||
preview.material.set_shader_param("selection_pivot", pivot)
|
|
||||||
preview.material.set_shader_param("selection_size", selection_size)
|
|
||||||
else:
|
else:
|
||||||
var params = {
|
|
||||||
"angle": angle,
|
|
||||||
"selection_tex": selection_tex,
|
|
||||||
"selection_pivot": pivot,
|
|
||||||
"selection_size": selection_size
|
|
||||||
}
|
|
||||||
var gen := ShaderImageEffect.new()
|
var gen := ShaderImageEffect.new()
|
||||||
gen.generate_image(_cel, shader, params, _project.size)
|
gen.generate_image(cel, shader, params, _project.size)
|
||||||
yield(gen, "done")
|
yield(gen, "done")
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
@ -121,9 +120,9 @@ func commit_action(_cel: Image, _project: Project = Global.current_project) -> v
|
||||||
and selection_checkbox.pressed
|
and selection_checkbox.pressed
|
||||||
and type_option_button.text != "Nearest neighbour (Shader)"
|
and type_option_button.text != "Nearest neighbour (Shader)"
|
||||||
):
|
):
|
||||||
_cel.blend_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
|
cel.blend_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
|
||||||
else:
|
else:
|
||||||
_cel.blit_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
|
cel.blit_rect(image, Rect2(Vector2.ZERO, image.get_size()), Vector2.ZERO)
|
||||||
|
|
||||||
|
|
||||||
func _on_HSlider_value_changed(_value: float) -> void:
|
func _on_HSlider_value_changed(_value: float) -> void:
|
||||||
|
@ -165,8 +164,8 @@ func _on_LiveCheckbox_toggled(button_pressed: bool) -> void:
|
||||||
|
|
||||||
|
|
||||||
func _on_quick_change_angle_pressed(change_type: String) -> void:
|
func _on_quick_change_angle_pressed(change_type: String) -> void:
|
||||||
var current_angle = angle_hslider.value
|
var current_angle := angle_hslider.value
|
||||||
var new_angle = current_angle
|
var new_angle := current_angle
|
||||||
match change_type:
|
match change_type:
|
||||||
"-90":
|
"-90":
|
||||||
new_angle = current_angle - 90
|
new_angle = current_angle - 90
|
||||||
|
@ -186,17 +185,6 @@ func _on_quick_change_angle_pressed(change_type: String) -> void:
|
||||||
angle_hslider.value = new_angle
|
angle_hslider.value = new_angle
|
||||||
|
|
||||||
|
|
||||||
func _on_TogglePivot_toggled(button_pressed: bool) -> void:
|
|
||||||
$VBoxContainer/Pivot/Options.visible = button_pressed
|
|
||||||
if button_pressed:
|
|
||||||
$VBoxContainer/Pivot/TitleButtons/TogglePivot.text = "Pivot Options: (v)"
|
|
||||||
$VBoxContainer/Pivot/TitleButtons/TogglePivot.focus_mode = 0
|
|
||||||
else:
|
|
||||||
$VBoxContainer/Pivot/TitleButtons/TogglePivot.text = "Pivot Options: (>)"
|
|
||||||
$VBoxContainer/Pivot/TitleButtons/TogglePivot.focus_mode = 0
|
|
||||||
rect_size.y += 1 # Reset rect_size of dialog
|
|
||||||
|
|
||||||
|
|
||||||
func _on_Centre_pressed() -> void:
|
func _on_Centre_pressed() -> void:
|
||||||
decide_pivot()
|
decide_pivot()
|
||||||
|
|
||||||
|
@ -207,13 +195,12 @@ func _on_Pivot_value_changed(value: float, is_x: bool) -> void:
|
||||||
else:
|
else:
|
||||||
pivot.y = value
|
pivot.y = value
|
||||||
# Refresh the indicator
|
# Refresh the indicator
|
||||||
$VBoxContainer/AspectRatioContainer/Indicator.update()
|
pivot_indicator.update()
|
||||||
if angle_hslider.value != 0:
|
if angle_hslider.value != 0:
|
||||||
update_preview()
|
update_preview()
|
||||||
|
|
||||||
|
|
||||||
func _on_Indicator_draw() -> void:
|
func _on_Indicator_draw() -> void:
|
||||||
var pivot_indicator = $VBoxContainer/AspectRatioContainer/Indicator
|
|
||||||
var img_size := preview_image.get_size()
|
var img_size := preview_image.get_size()
|
||||||
# find the scale using the larger measurement
|
# find the scale using the larger measurement
|
||||||
var ratio = pivot_indicator.rect_size / img_size
|
var ratio = pivot_indicator.rect_size / img_size
|
||||||
|
@ -237,19 +224,16 @@ func _on_Indicator_draw() -> void:
|
||||||
func _on_Indicator_gui_input(event: InputEvent) -> void:
|
func _on_Indicator_gui_input(event: InputEvent) -> void:
|
||||||
if event is InputEventMouseMotion:
|
if event is InputEventMouseMotion:
|
||||||
if event.pressure == 1.0:
|
if event.pressure == 1.0:
|
||||||
var pivot_indicator = $VBoxContainer/AspectRatioContainer/Indicator
|
|
||||||
var x_pivot = $VBoxContainer/Pivot/Options/X/XPivot
|
|
||||||
var y_pivot = $VBoxContainer/Pivot/Options/Y/YPivot
|
|
||||||
var img_size := preview_image.get_size()
|
var img_size := preview_image.get_size()
|
||||||
var mouse_pos = get_local_mouse_position() - pivot_indicator.rect_position
|
var mouse_pos := get_local_mouse_position() - pivot_indicator.rect_position
|
||||||
var ratio = img_size / pivot_indicator.rect_size
|
var ratio := img_size / pivot_indicator.rect_size
|
||||||
# we need to set the scale according to the larger side
|
# we need to set the scale according to the larger side
|
||||||
var conversion_scale: float
|
var conversion_scale: float
|
||||||
if img_size.x > img_size.y:
|
if img_size.x > img_size.y:
|
||||||
conversion_scale = ratio.x
|
conversion_scale = ratio.x
|
||||||
else:
|
else:
|
||||||
conversion_scale = ratio.y
|
conversion_scale = ratio.y
|
||||||
var new_pos = mouse_pos * conversion_scale
|
var new_pos := mouse_pos * conversion_scale
|
||||||
x_pivot.value = new_pos.x
|
x_pivot.value = new_pos.x
|
||||||
y_pivot.value = new_pos.y
|
y_pivot.value = new_pos.y
|
||||||
pivot_indicator.update()
|
pivot_indicator.update()
|
||||||
|
|
|
@ -21,13 +21,13 @@ margin_bottom = -36.0
|
||||||
|
|
||||||
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="VBoxContainer"]
|
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="VBoxContainer"]
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 226.0
|
margin_bottom = 222.0
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
|
|
||||||
[node name="Preview" type="TextureRect" parent="VBoxContainer/AspectRatioContainer"]
|
[node name="Preview" type="TextureRect" parent="VBoxContainer/AspectRatioContainer"]
|
||||||
margin_left = 50.0
|
margin_left = 52.0
|
||||||
margin_right = 276.0
|
margin_right = 274.0
|
||||||
margin_bottom = 226.0
|
margin_bottom = 222.0
|
||||||
rect_min_size = Vector2( 200, 200 )
|
rect_min_size = Vector2( 200, 200 )
|
||||||
expand = true
|
expand = true
|
||||||
stretch_mode = 5
|
stretch_mode = 5
|
||||||
|
@ -40,21 +40,22 @@ margin_right = 0.0
|
||||||
margin_bottom = 0.0
|
margin_bottom = 0.0
|
||||||
|
|
||||||
[node name="Indicator" type="Control" parent="VBoxContainer/AspectRatioContainer"]
|
[node name="Indicator" type="Control" parent="VBoxContainer/AspectRatioContainer"]
|
||||||
margin_left = 50.0
|
margin_left = 52.0
|
||||||
margin_right = 276.0
|
margin_right = 274.0
|
||||||
margin_bottom = 226.0
|
margin_bottom = 222.0
|
||||||
mouse_default_cursor_shape = 2
|
mouse_default_cursor_shape = 2
|
||||||
|
|
||||||
[node name="LiveSettings" type="HBoxContainer" parent="VBoxContainer"]
|
[node name="LiveSettings" type="HBoxContainer" parent="VBoxContainer"]
|
||||||
margin_top = 230.0
|
margin_top = 226.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 254.0
|
margin_bottom = 250.0
|
||||||
alignment = 1
|
alignment = 1
|
||||||
|
|
||||||
[node name="LiveCheckbox" type="CheckBox" parent="VBoxContainer/LiveSettings"]
|
[node name="LiveCheckbox" type="CheckBox" parent="VBoxContainer/LiveSettings"]
|
||||||
margin_left = 109.0
|
margin_left = 109.0
|
||||||
margin_right = 217.0
|
margin_right = 217.0
|
||||||
margin_bottom = 24.0
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
pressed = true
|
pressed = true
|
||||||
text = "Live Preview"
|
text = "Live Preview"
|
||||||
|
|
||||||
|
@ -85,9 +86,9 @@ editable = false
|
||||||
suffix = "msec"
|
suffix = "msec"
|
||||||
|
|
||||||
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
|
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"]
|
||||||
margin_top = 258.0
|
margin_top = 254.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 278.0
|
margin_bottom = 274.0
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"]
|
[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer2"]
|
||||||
margin_top = 3.0
|
margin_top = 3.0
|
||||||
|
@ -104,105 +105,59 @@ size_flags_horizontal = 3
|
||||||
size_flags_vertical = 3
|
size_flags_vertical = 3
|
||||||
|
|
||||||
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
|
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
|
||||||
margin_top = 282.0
|
margin_top = 278.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 286.0
|
margin_bottom = 282.0
|
||||||
|
|
||||||
[node name="Pivot" type="VBoxContainer" parent="VBoxContainer"]
|
[node name="Pivot" type="VBoxContainer" parent="VBoxContainer"]
|
||||||
margin_top = 290.0
|
margin_top = 286.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 310.0
|
margin_bottom = 310.0
|
||||||
|
|
||||||
[node name="TitleButtons" type="HBoxContainer" parent="VBoxContainer/Pivot"]
|
[node name="TitleButtons" type="HBoxContainer" parent="VBoxContainer/Pivot"]
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 20.0
|
margin_bottom = 24.0
|
||||||
|
|
||||||
[node name="TogglePivot" type="Button" parent="VBoxContainer/Pivot/TitleButtons"]
|
[node name="Label" type="Label" parent="VBoxContainer/Pivot/TitleButtons"]
|
||||||
margin_right = 268.0
|
margin_top = 5.0
|
||||||
margin_bottom = 20.0
|
margin_right = 70.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Pivot (x, y):"
|
||||||
|
align = 2
|
||||||
|
valign = 1
|
||||||
|
|
||||||
|
[node name="XPivot" type="SpinBox" parent="VBoxContainer/Pivot/TitleButtons"]
|
||||||
|
margin_left = 74.0
|
||||||
|
margin_right = 169.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 2
|
min_value = -10000.0
|
||||||
toggle_mode = true
|
max_value = 10000.0
|
||||||
text = "Pivot Options (>)"
|
step = 0.5
|
||||||
flat = true
|
allow_greater = true
|
||||||
align = 0
|
allow_lesser = true
|
||||||
|
|
||||||
|
[node name="YPivot" type="SpinBox" parent="VBoxContainer/Pivot/TitleButtons"]
|
||||||
|
margin_left = 173.0
|
||||||
|
margin_right = 268.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
min_value = -10000.0
|
||||||
|
max_value = 10000.0
|
||||||
|
step = 0.5
|
||||||
|
allow_greater = true
|
||||||
|
allow_lesser = true
|
||||||
|
|
||||||
[node name="Centre" type="Button" parent="VBoxContainer/Pivot/TitleButtons"]
|
[node name="Centre" type="Button" parent="VBoxContainer/Pivot/TitleButtons"]
|
||||||
margin_left = 272.0
|
margin_left = 272.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
margin_bottom = 20.0
|
margin_bottom = 24.0
|
||||||
hint_tooltip = "Centers the pivot (if selection is present then it's centre is selected instead)"
|
hint_tooltip = "Places the pivot at the center of the image, or at the center of the selection, if it is present."
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
text = "Center"
|
text = "Center"
|
||||||
|
|
||||||
[node name="Options" type="VBoxContainer" parent="VBoxContainer/Pivot"]
|
|
||||||
visible = false
|
|
||||||
margin_top = 24.0
|
|
||||||
margin_right = 326.0
|
|
||||||
margin_bottom = 76.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
alignment = 1
|
|
||||||
|
|
||||||
[node name="X" type="HBoxContainer" parent="VBoxContainer/Pivot/Options"]
|
|
||||||
margin_right = 326.0
|
|
||||||
margin_bottom = 24.0
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/Pivot/Options/X"]
|
|
||||||
margin_top = 5.0
|
|
||||||
margin_right = 106.0
|
|
||||||
margin_bottom = 19.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
text = "X-axis"
|
|
||||||
align = 2
|
|
||||||
valign = 1
|
|
||||||
|
|
||||||
[node name="XPivot" type="SpinBox" parent="VBoxContainer/Pivot/Options/X"]
|
|
||||||
margin_left = 110.0
|
|
||||||
margin_right = 216.0
|
|
||||||
margin_bottom = 24.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
min_value = -10000.0
|
|
||||||
max_value = 10000.0
|
|
||||||
step = 0.5
|
|
||||||
allow_greater = true
|
|
||||||
allow_lesser = true
|
|
||||||
|
|
||||||
[node name="Spacer" type="Control" parent="VBoxContainer/Pivot/Options/X"]
|
|
||||||
margin_left = 220.0
|
|
||||||
margin_right = 326.0
|
|
||||||
margin_bottom = 24.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
|
|
||||||
[node name="Y" type="HBoxContainer" parent="VBoxContainer/Pivot/Options"]
|
|
||||||
margin_top = 28.0
|
|
||||||
margin_right = 326.0
|
|
||||||
margin_bottom = 52.0
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/Pivot/Options/Y"]
|
|
||||||
margin_top = 5.0
|
|
||||||
margin_right = 106.0
|
|
||||||
margin_bottom = 19.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
text = "Y-axis"
|
|
||||||
align = 2
|
|
||||||
valign = 1
|
|
||||||
|
|
||||||
[node name="YPivot" type="SpinBox" parent="VBoxContainer/Pivot/Options/Y"]
|
|
||||||
margin_left = 110.0
|
|
||||||
margin_right = 216.0
|
|
||||||
margin_bottom = 24.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
min_value = -10000.0
|
|
||||||
max_value = 10000.0
|
|
||||||
step = 0.5
|
|
||||||
allow_greater = true
|
|
||||||
allow_lesser = true
|
|
||||||
|
|
||||||
[node name="Spacer" type="Control" parent="VBoxContainer/Pivot/Options/Y"]
|
|
||||||
margin_left = 220.0
|
|
||||||
margin_right = 326.0
|
|
||||||
margin_bottom = 24.0
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
|
|
||||||
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
|
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer"]
|
||||||
margin_top = 314.0
|
margin_top = 314.0
|
||||||
margin_right = 326.0
|
margin_right = 326.0
|
||||||
|
@ -308,10 +263,9 @@ selected = 0
|
||||||
[connection signal="toggled" from="VBoxContainer/LiveSettings/LiveCheckbox" to="." method="_on_LiveCheckbox_toggled"]
|
[connection signal="toggled" from="VBoxContainer/LiveSettings/LiveCheckbox" to="." method="_on_LiveCheckbox_toggled"]
|
||||||
[connection signal="value_changed" from="VBoxContainer/WaitSettings/WaitTime" to="." method="_on_WaitTime_value_changed"]
|
[connection signal="value_changed" from="VBoxContainer/WaitSettings/WaitTime" to="." method="_on_WaitTime_value_changed"]
|
||||||
[connection signal="item_selected" from="VBoxContainer/HBoxContainer2/TypeOptionButton" to="." method="_on_TypeOptionButton_item_selected"]
|
[connection signal="item_selected" from="VBoxContainer/HBoxContainer2/TypeOptionButton" to="." method="_on_TypeOptionButton_item_selected"]
|
||||||
[connection signal="toggled" from="VBoxContainer/Pivot/TitleButtons/TogglePivot" to="." method="_on_TogglePivot_toggled"]
|
[connection signal="value_changed" from="VBoxContainer/Pivot/TitleButtons/XPivot" to="." method="_on_Pivot_value_changed" binds= [ true ]]
|
||||||
|
[connection signal="value_changed" from="VBoxContainer/Pivot/TitleButtons/YPivot" to="." method="_on_Pivot_value_changed" binds= [ false ]]
|
||||||
[connection signal="pressed" from="VBoxContainer/Pivot/TitleButtons/Centre" to="." method="_on_Centre_pressed"]
|
[connection signal="pressed" from="VBoxContainer/Pivot/TitleButtons/Centre" to="." method="_on_Centre_pressed"]
|
||||||
[connection signal="value_changed" from="VBoxContainer/Pivot/Options/X/XPivot" to="." method="_on_Pivot_value_changed" binds= [ true ]]
|
|
||||||
[connection signal="value_changed" from="VBoxContainer/Pivot/Options/Y/YPivot" to="." method="_on_Pivot_value_changed" binds= [ false ]]
|
|
||||||
[connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleHSlider" to="." method="_on_HSlider_value_changed"]
|
[connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleHSlider" to="." method="_on_HSlider_value_changed"]
|
||||||
[connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleSpinBox" to="." method="_on_SpinBox_value_changed"]
|
[connection signal="value_changed" from="VBoxContainer/AngleOptions/AngleSpinBox" to="." method="_on_SpinBox_value_changed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/QuickRotations/Deduct90" to="." method="_on_quick_change_angle_pressed" binds= [ "-90" ]]
|
[connection signal="pressed" from="VBoxContainer/QuickRotations/Deduct90" to="." method="_on_quick_change_angle_pressed" binds= [ "-90" ]]
|
||||||
|
|
Loading…
Reference in a new issue