Fragmented/src/Main.gd

41 lines
1.1 KiB
GDScript3
Raw Normal View History

2024-06-04 18:31:04 +02:00
extends Node2D
@onready var camera = $Camera
@onready var image_viewport = $ImageViewport
@onready var ui_container = $UI_Layer/UserInterfaceContainer
@onready var ui_control_fileopen = $UI_Layer/UserInterfaceContainer/OpenImageDialog
@onready var ui_control_filesave = $UI_Layer/UserInterfaceContainer/SaveImageDialog
var last_save_filepath = ""
2024-06-04 18:31:04 +02:00
func _ready():
Globals.target_viewport = image_viewport
2024-06-04 18:31:04 +02:00
func _on_open_image_button_pressed():
ui_control_fileopen.show()
2024-06-04 18:31:04 +02:00
func _on_open_image_dialog_file_selected(path):
2024-06-04 18:31:04 +02:00
var img = Image.new()
var err = img.load(path)
if err == OK:
image_viewport.set_original_image(img)
image_viewport.update()
2024-06-04 18:31:04 +02:00
camera.fit_image()
last_save_filepath = ""
2024-06-04 18:31:04 +02:00
else:
print("An error occured!")
func _on_save_image_button_pressed():
if image_viewport.get_result() != null:
if last_save_filepath == "":
ui_control_filesave.current_file = "output.png"
else:
ui_control_filesave.current_path = last_save_filepath
ui_control_filesave.show()
2024-06-04 18:31:04 +02:00
func _on_save_image_dialog_file_selected(path):
var err = image_viewport.get_result().save_png(path)
2024-06-04 18:31:04 +02:00
if err != OK:
print("An error occured!")
else:
last_save_filepath = path