1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-03-13 06:45:17 +00:00

UndoRedo and Image effects work per layer

Basically just replaced Global.canvas.current_layer_index with Global.current_layer
This commit is contained in:
OverloadedOrama 2020-02-29 02:12:03 +02:00
parent 53d062619e
commit 18356d4408
3 changed files with 17 additions and 17 deletions

View file

@ -465,10 +465,10 @@ func handle_undo(action : String) -> void:
for c in canvases: for c in canvases:
# I'm not sure why I have to unlock it, but... # I'm not sure why I have to unlock it, but...
# ...if I don't, it doesn't work properly # ...if I don't, it doesn't work properly
c.layers[c.current_layer_index][0].unlock() c.layers[Global.current_layer][0].unlock()
var data = c.layers[c.current_layer_index][0].data var data = c.layers[Global.current_layer][0].data
c.layers[c.current_layer_index][0].lock() c.layers[Global.current_layer][0].lock()
Global.undo_redo.add_undo_property(c.layers[c.current_layer_index][0], "data", data) Global.undo_redo.add_undo_property(c.layers[Global.current_layer][0], "data", data)
if action == "Rectangle Select": if action == "Rectangle Select":
var selected_pixels = Global.selected_pixels.duplicate() var selected_pixels = Global.selected_pixels.duplicate()
Global.undo_redo.add_undo_property(Global.selection_rectangle, "polygon", Global.selection_rectangle.polygon) Global.undo_redo.add_undo_property(Global.selection_rectangle, "polygon", Global.selection_rectangle.polygon)
@ -486,11 +486,11 @@ func handle_redo(action : String) -> void:
var layer_index := -1 var layer_index := -1
if Global.animation_timer.is_stopped(): if Global.animation_timer.is_stopped():
canvases = [self] canvases = [self]
layer_index = current_layer_index layer_index = Global.current_layer
else: else:
canvases = Global.canvases canvases = Global.canvases
for c in canvases: for c in canvases:
Global.undo_redo.add_do_property(c.layers[c.current_layer_index][0], "data", c.layers[c.current_layer_index][0].data) Global.undo_redo.add_do_property(c.layers[Global.current_layer][0], "data", c.layers[Global.current_layer][0].data)
if action == "Rectangle Select": if action == "Rectangle Select":
Global.undo_redo.add_do_property(Global.selection_rectangle, "polygon", Global.selection_rectangle.polygon) Global.undo_redo.add_do_property(Global.selection_rectangle, "polygon", Global.selection_rectangle.polygon)
Global.undo_redo.add_do_property(Global, "selected_pixels", Global.selected_pixels) Global.undo_redo.add_do_property(Global, "selected_pixels", Global.selected_pixels)

View file

@ -9,7 +9,7 @@ func _on_OutlineDialog_confirmed() -> void:
var diagonal : bool = $OptionsContainer/DiagonalCheckBox.pressed var diagonal : bool = $OptionsContainer/DiagonalCheckBox.pressed
var inside_image : bool = $OptionsContainer/InsideImageCheckBox.pressed var inside_image : bool = $OptionsContainer/InsideImageCheckBox.pressed
var image : Image = Global.canvas.layers[Global.canvas.current_layer_index][0] var image : Image = Global.canvas.layers[Global.current_layer][0]
if image.is_invisible(): if image.is_invisible():
return return
var new_image := Image.new() var new_image := Image.new()

View file

@ -332,23 +332,23 @@ func image_menu_id_pressed(id : int) -> void:
2: # Flip Horizontal 2: # Flip Horizontal
var canvas : Canvas = Global.canvas var canvas : Canvas = Global.canvas
canvas.handle_undo("Draw") canvas.handle_undo("Draw")
canvas.layers[canvas.current_layer_index][0].unlock() canvas.layers[Global.current_layer][0].unlock()
canvas.layers[canvas.current_layer_index][0].flip_x() canvas.layers[Global.current_layer][0].flip_x()
canvas.layers[canvas.current_layer_index][0].lock() canvas.layers[Global.current_layer][0].lock()
canvas.handle_redo("Draw") canvas.handle_redo("Draw")
3: # Flip Vertical 3: # Flip Vertical
var canvas : Canvas = Global.canvas var canvas : Canvas = Global.canvas
canvas.handle_undo("Draw") canvas.handle_undo("Draw")
canvas.layers[canvas.current_layer_index][0].unlock() canvas.layers[Global.current_layer][0].unlock()
canvas.layers[canvas.current_layer_index][0].flip_y() canvas.layers[Global.current_layer][0].flip_y()
canvas.layers[canvas.current_layer_index][0].lock() canvas.layers[Global.current_layer][0].lock()
canvas.handle_redo("Draw") canvas.handle_redo("Draw")
4: # Rotate 4: # Rotate
var image : Image = Global.canvas.layers[Global.canvas.current_layer_index][0] var image : Image = Global.canvas.layers[Global.current_layer][0]
$RotateImage.set_sprite(image) $RotateImage.set_sprite(image)
$RotateImage.popup_centered() $RotateImage.popup_centered()
5: # Invert Colors 5: # Invert Colors
var image : Image = Global.canvas.layers[Global.canvas.current_layer_index][0] var image : Image = Global.canvas.layers[Global.current_layer][0]
Global.canvas.handle_undo("Draw") Global.canvas.handle_undo("Draw")
for xx in image.get_size().x: for xx in image.get_size().x:
for yy in image.get_size().y: for yy in image.get_size().y:
@ -358,7 +358,7 @@ func image_menu_id_pressed(id : int) -> void:
image.set_pixel(xx, yy, px_color) image.set_pixel(xx, yy, px_color)
Global.canvas.handle_redo("Draw") Global.canvas.handle_redo("Draw")
6: # Desaturation 6: # Desaturation
var image : Image = Global.canvas.layers[Global.canvas.current_layer_index][0] var image : Image = Global.canvas.layers[Global.current_layer][0]
Global.canvas.handle_undo("Draw") Global.canvas.handle_undo("Draw")
for xx in image.get_size().x: for xx in image.get_size().x:
for yy in image.get_size().y: for yy in image.get_size().y:
@ -775,7 +775,7 @@ func _on_RightVerticalMirroring_toggled(button_pressed) -> void:
Global.right_vertical_mirror = button_pressed Global.right_vertical_mirror = button_pressed
func _on_OpacitySlider_value_changed(value) -> void: func _on_OpacitySlider_value_changed(value) -> void:
Global.canvas.layers[Global.canvas.current_layer_index][4] = value / 100 Global.canvas.layers[Global.current_layer][4] = value / 100
Global.layer_opacity_slider.value = value Global.layer_opacity_slider.value = value
Global.layer_opacity_spinbox.value = value Global.layer_opacity_spinbox.value = value
Global.canvas.update() Global.canvas.update()