1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00

Made "Scale Image" affect all frames

This commit is contained in:
OverloadedOrama 2020-05-11 17:43:58 +03:00
parent 358a95f709
commit 74f3644e17

View file

@ -7,15 +7,17 @@ func _on_ScaleImage_confirmed() -> void:
var interpolation : int = $VBoxContainer/OptionsContainer/InterpolationType.selected
Global.undos += 1
Global.undo_redo.create_action("Scale")
Global.undo_redo.add_do_property(Global.canvas, "size", Vector2(width, height).floor())
for i in range(Global.canvas.layers.size() - 1, -1, -1):
var sprite : Image = Global.canvas.layers[i][1].get_data()
sprite.resize(width, height, interpolation)
Global.undo_redo.add_do_property(Global.canvas.layers[i][0], "data", sprite.data)
Global.undo_redo.add_undo_property(Global.canvas.layers[i][0], "data", Global.canvas.layers[i][0].data)
for c in Global.canvases:
Global.undo_redo.add_do_property(c, "size", Vector2(width, height).floor())
for i in range(c.layers.size() - 1, -1, -1):
var sprite := Image.new()
sprite.copy_from(c.layers[i][0])
sprite.resize(width, height, interpolation)
Global.undo_redo.add_do_property(c.layers[i][0], "data", sprite.data)
Global.undo_redo.add_undo_property(c.layers[i][0], "data", c.layers[i][0].data)
Global.undo_redo.add_undo_property(c, "size", c.size)
Global.undo_redo.add_undo_property(Global.canvas, "size", Global.canvas.size)
Global.undo_redo.add_undo_method(Global, "undo", [Global.canvas])
Global.undo_redo.add_do_method(Global, "redo", [Global.canvas])
Global.undo_redo.add_undo_method(Global, "undo", Global.canvases)
Global.undo_redo.add_do_method(Global, "redo", Global.canvases)
Global.undo_redo.commit_action()