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:
parent
53d062619e
commit
18356d4408
3 changed files with 17 additions and 17 deletions
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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()
|
||||||
|
|
Loading…
Add table
Reference in a new issue