2019-12-29 22:24:37 +00:00
|
|
|
extends ConfirmationDialog
|
|
|
|
|
2020-05-01 17:47:10 +00:00
|
|
|
|
2019-12-29 22:24:37 +00:00
|
|
|
func _on_ScaleImage_confirmed() -> void:
|
|
|
|
var width : int = $VBoxContainer/OptionsContainer/WidthValue.value
|
|
|
|
var height : int = $VBoxContainer/OptionsContainer/HeightValue.value
|
|
|
|
var interpolation : int = $VBoxContainer/OptionsContainer/InterpolationType.selected
|
2020-06-04 18:05:36 +00:00
|
|
|
Global.current_project.undos += 1
|
|
|
|
Global.current_project.undo_redo.create_action("Scale")
|
2020-06-04 20:20:20 +00:00
|
|
|
Global.current_project.undo_redo.add_do_property(Global.current_project, "size", Vector2(width, height).floor())
|
2019-12-29 22:24:37 +00:00
|
|
|
|
2020-06-04 18:05:36 +00:00
|
|
|
for f in Global.current_project.frames:
|
2020-06-02 23:14:24 +00:00
|
|
|
for i in range(f.cels.size() - 1, -1, -1):
|
2020-05-11 14:43:58 +00:00
|
|
|
var sprite := Image.new()
|
2020-06-02 23:14:24 +00:00
|
|
|
sprite.copy_from(f.cels[i].image)
|
2020-05-11 14:43:58 +00:00
|
|
|
sprite.resize(width, height, interpolation)
|
2020-06-04 18:05:36 +00:00
|
|
|
Global.current_project.undo_redo.add_do_property(f.cels[i].image, "data", sprite.data)
|
|
|
|
Global.current_project.undo_redo.add_undo_property(f.cels[i].image, "data", f.cels[i].image.data)
|
2019-12-29 22:24:37 +00:00
|
|
|
|
2020-06-04 20:20:20 +00:00
|
|
|
Global.current_project.undo_redo.add_undo_property(Global.current_project, "size", Global.current_project.size)
|
2020-06-04 18:05:36 +00:00
|
|
|
Global.current_project.undo_redo.add_undo_method(Global, "undo")
|
|
|
|
Global.current_project.undo_redo.add_do_method(Global, "redo")
|
|
|
|
Global.current_project.undo_redo.commit_action()
|