mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-07 19:09:50 +00:00
More global tool options will most likely be added soon, most notably tablet pen pressure sensitivity options.
68 lines
2.4 KiB
GDScript
68 lines
2.4 KiB
GDScript
extends PanelContainer
|
|
|
|
onready var grid_container: GridContainer = find_node("GridContainer")
|
|
onready var horizontal_mirror: BaseButton = grid_container.get_node("Horizontal")
|
|
onready var vertical_mirror: BaseButton = grid_container.get_node("Vertical")
|
|
onready var pixel_perfect: BaseButton = grid_container.get_node("PixelPerfect")
|
|
|
|
|
|
func _ready() -> void:
|
|
# Resize tools panel when window gets resized
|
|
get_tree().get_root().connect("size_changed", self, "_on_resized")
|
|
|
|
horizontal_mirror.pressed = Tools.horizontal_mirror
|
|
vertical_mirror.pressed = Tools.vertical_mirror
|
|
pixel_perfect.pressed = Tools.pixel_perfect
|
|
|
|
|
|
func _on_resized() -> void:
|
|
var tool_panel_size: Vector2 = rect_size
|
|
var column_n = tool_panel_size.x / 36.5
|
|
|
|
if column_n < 1:
|
|
column_n = 1
|
|
grid_container.columns = column_n
|
|
|
|
|
|
func _on_Horizontal_toggled(button_pressed: bool) -> void:
|
|
Tools.horizontal_mirror = button_pressed
|
|
Global.config_cache.set_value("preferences", "horizontal_mirror", button_pressed)
|
|
Global.show_y_symmetry_axis = button_pressed
|
|
Global.current_project.y_symmetry_axis.visible = (
|
|
Global.show_y_symmetry_axis
|
|
and Global.show_guides
|
|
)
|
|
|
|
var texture_button: TextureRect = horizontal_mirror.get_node("TextureRect")
|
|
var file_name := "horizontal_mirror_on.png"
|
|
if !button_pressed:
|
|
file_name = "horizontal_mirror_off.png"
|
|
Global.change_button_texturerect(texture_button, file_name)
|
|
|
|
|
|
func _on_Vertical_toggled(button_pressed: bool) -> void:
|
|
Tools.vertical_mirror = button_pressed
|
|
Global.config_cache.set_value("preferences", "vertical_mirror", button_pressed)
|
|
Global.show_x_symmetry_axis = button_pressed
|
|
# If the button is not pressed but another button is, keep the symmetry guide visible
|
|
Global.current_project.x_symmetry_axis.visible = (
|
|
Global.show_x_symmetry_axis
|
|
and Global.show_guides
|
|
)
|
|
|
|
var texture_button: TextureRect = vertical_mirror.get_node("TextureRect")
|
|
var file_name := "vertical_mirror_on.png"
|
|
if !button_pressed:
|
|
file_name = "vertical_mirror_off.png"
|
|
Global.change_button_texturerect(texture_button, file_name)
|
|
|
|
|
|
func _on_PixelPerfect_toggled(button_pressed: bool) -> void:
|
|
Tools.pixel_perfect = button_pressed
|
|
Global.config_cache.set_value("preferences", "pixel_perfect", button_pressed)
|
|
var texture_button: TextureRect = pixel_perfect.get_node("TextureRect")
|
|
var file_name := "pixel_perfect_on.png"
|
|
if !button_pressed:
|
|
file_name = "pixel_perfect_off.png"
|
|
Global.change_button_texturerect(texture_button, file_name)
|