mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-21 21:13:14 +00:00
When cloning a frame, the clone appears next to the cloned
Removed some code from FrameButton.gd since it's used in AnimationTimeline.gd, and removed the Global.hidden_canvases array, as... it did nothing? I don't remember what I made it for, I think it was for UndoRedo purposes but it's seems to be working fine without it.
This commit is contained in:
parent
4068330e26
commit
a3b01873a2
3 changed files with 35 additions and 80 deletions
|
@ -11,6 +11,7 @@ func _ready() -> void:
|
||||||
timeline_scroll.get_h_scrollbar().connect("value_changed", self, "_h_scroll_changed")
|
timeline_scroll.get_h_scrollbar().connect("value_changed", self, "_h_scroll_changed")
|
||||||
Global.animation_timer.wait_time = 1 / fps
|
Global.animation_timer.wait_time = 1 / fps
|
||||||
|
|
||||||
|
|
||||||
func _h_scroll_changed(value : float) -> void:
|
func _h_scroll_changed(value : float) -> void:
|
||||||
# Let the main timeline ScrollContainer affect the tag ScrollContainer too
|
# Let the main timeline ScrollContainer affect the tag ScrollContainer too
|
||||||
tag_scroll_container.get_child(0).rect_min_size.x = timeline_scroll.get_child(0).rect_size.x - 212
|
tag_scroll_container.get_child(0).rect_min_size.x = timeline_scroll.get_child(0).rect_size.x - 212
|
||||||
|
@ -24,8 +25,6 @@ func add_frame() -> void:
|
||||||
|
|
||||||
var new_canvases: Array = Global.canvases.duplicate()
|
var new_canvases: Array = Global.canvases.duplicate()
|
||||||
new_canvases.append(new_canvas)
|
new_canvases.append(new_canvas)
|
||||||
var new_hidden_canvases: Array = Global.hidden_canvases.duplicate()
|
|
||||||
new_hidden_canvases.append(new_canvas)
|
|
||||||
|
|
||||||
Global.undos += 1
|
Global.undos += 1
|
||||||
Global.undo_redo.create_action("Add Frame")
|
Global.undo_redo.create_action("Add Frame")
|
||||||
|
@ -33,7 +32,6 @@ func add_frame() -> void:
|
||||||
Global.undo_redo.add_undo_method(Global, "undo", [new_canvas])
|
Global.undo_redo.add_undo_method(Global, "undo", [new_canvas])
|
||||||
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
||||||
Global.undo_redo.add_do_property(Global, "hidden_canvases", Global.hidden_canvases)
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvas", new_canvas)
|
Global.undo_redo.add_do_property(Global, "canvas", new_canvas)
|
||||||
Global.undo_redo.add_do_property(Global, "current_frame", new_canvases.size() - 1)
|
Global.undo_redo.add_do_property(Global, "current_frame", new_canvases.size() - 1)
|
||||||
|
|
||||||
|
@ -48,19 +46,17 @@ func add_frame() -> void:
|
||||||
Global.layers[l_i][5].append(new_canvas)
|
Global.layers[l_i][5].append(new_canvas)
|
||||||
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
||||||
Global.undo_redo.add_undo_property(Global, "hidden_canvases", new_hidden_canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvas", Global.canvas)
|
Global.undo_redo.add_undo_property(Global, "canvas", Global.canvas)
|
||||||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
||||||
Global.undo_redo.commit_action()
|
Global.undo_redo.commit_action()
|
||||||
|
|
||||||
func _on_DeleteFrame_pressed():
|
|
||||||
|
func _on_DeleteFrame_pressed() -> void:
|
||||||
if Global.canvases.size() == 1:
|
if Global.canvases.size() == 1:
|
||||||
return
|
return
|
||||||
var canvas : Canvas = Global.canvases[Global.current_frame]
|
var canvas : Canvas = Global.canvases[Global.current_frame]
|
||||||
var new_canvases := Global.canvases.duplicate()
|
var new_canvases := Global.canvases.duplicate()
|
||||||
new_canvases.erase(canvas)
|
new_canvases.erase(canvas)
|
||||||
var new_hidden_canvases := Global.hidden_canvases.duplicate()
|
|
||||||
new_hidden_canvases.append(canvas)
|
|
||||||
var current_frame := Global.current_frame
|
var current_frame := Global.current_frame
|
||||||
if current_frame > 0 && current_frame == new_canvases.size(): # If it's the last frame
|
if current_frame > 0 && current_frame == new_canvases.size(): # If it's the last frame
|
||||||
current_frame -= 1
|
current_frame -= 1
|
||||||
|
@ -69,7 +65,6 @@ func _on_DeleteFrame_pressed():
|
||||||
Global.undo_redo.create_action("Remove Frame")
|
Global.undo_redo.create_action("Remove Frame")
|
||||||
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
||||||
Global.undo_redo.add_do_property(Global, "hidden_canvases", new_hidden_canvases)
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvas", new_canvases[current_frame])
|
Global.undo_redo.add_do_property(Global, "canvas", new_canvases[current_frame])
|
||||||
Global.undo_redo.add_do_property(Global, "current_frame", current_frame)
|
Global.undo_redo.add_do_property(Global, "current_frame", current_frame)
|
||||||
|
|
||||||
|
@ -79,7 +74,6 @@ func _on_DeleteFrame_pressed():
|
||||||
Global.undo_redo.add_undo_property(c, "frame", c.frame)
|
Global.undo_redo.add_undo_property(c, "frame", c.frame)
|
||||||
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
||||||
Global.undo_redo.add_undo_property(Global, "hidden_canvases", Global.hidden_canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvas", canvas)
|
Global.undo_redo.add_undo_property(Global, "canvas", canvas)
|
||||||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
||||||
|
|
||||||
|
@ -87,16 +81,18 @@ func _on_DeleteFrame_pressed():
|
||||||
Global.undo_redo.add_undo_method(Global, "undo", [canvas])
|
Global.undo_redo.add_undo_method(Global, "undo", [canvas])
|
||||||
Global.undo_redo.commit_action()
|
Global.undo_redo.commit_action()
|
||||||
|
|
||||||
func _on_CopyFrame_pressed():
|
|
||||||
var canvas : Canvas = Global.canvases[Global.current_frame]
|
func _on_CopyFrame_pressed(frame := -1) -> void:
|
||||||
|
if frame == -1:
|
||||||
|
frame = Global.current_frame
|
||||||
|
|
||||||
|
var canvas : Canvas = Global.canvases[frame]
|
||||||
var new_canvas : Canvas = load("res://Prefabs/Canvas.tscn").instance()
|
var new_canvas : Canvas = load("res://Prefabs/Canvas.tscn").instance()
|
||||||
new_canvas.size = Global.canvas.size
|
new_canvas.size = Global.canvas.size
|
||||||
new_canvas.frame = Global.canvases.size()
|
new_canvas.frame = Global.canvases.size()
|
||||||
|
|
||||||
var new_canvases := Global.canvases.duplicate()
|
var new_canvases := Global.canvases.duplicate()
|
||||||
new_canvases.append(new_canvas)
|
new_canvases.insert(frame + 1, new_canvas)
|
||||||
var new_hidden_canvases := Global.hidden_canvases.duplicate()
|
|
||||||
new_hidden_canvases.append(new_canvas)
|
|
||||||
|
|
||||||
for layer in canvas.layers: # Copy every layer
|
for layer in canvas.layers: # Copy every layer
|
||||||
var sprite := Image.new()
|
var sprite := Image.new()
|
||||||
|
@ -106,28 +102,32 @@ func _on_CopyFrame_pressed():
|
||||||
tex.create_from_image(sprite, 0)
|
tex.create_from_image(sprite, 0)
|
||||||
new_canvas.layers.append([sprite, tex, layer[2]])
|
new_canvas.layers.append([sprite, tex, layer[2]])
|
||||||
|
|
||||||
Global.undos += 1
|
Global.undos += 1
|
||||||
Global.undo_redo.create_action("Add Frame")
|
Global.undo_redo.create_action("Add Frame")
|
||||||
Global.undo_redo.add_do_method(Global, "redo", [new_canvas])
|
Global.undo_redo.add_do_method(Global, "redo", [new_canvas])
|
||||||
Global.undo_redo.add_undo_method(Global, "undo", [new_canvas])
|
Global.undo_redo.add_undo_method(Global, "undo", [new_canvas])
|
||||||
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
||||||
Global.undo_redo.add_do_property(Global, "hidden_canvases", Global.hidden_canvases)
|
Global.undo_redo.add_do_property(Global, "canvas", new_canvas)
|
||||||
Global.undo_redo.add_do_property(Global, "canvas", new_canvas)
|
Global.undo_redo.add_do_property(Global, "current_frame", frame + 1)
|
||||||
Global.undo_redo.add_do_property(Global, "current_frame", new_canvases.size() - 1)
|
for i in range(Global.layers.size()):
|
||||||
for i in range(Global.layers.size()):
|
for child in Global.layers[i][3].get_children():
|
||||||
for child in Global.layers[i][3].get_children():
|
Global.undo_redo.add_do_property(child, "pressed", false)
|
||||||
Global.undo_redo.add_do_property(child, "pressed", false)
|
Global.undo_redo.add_undo_property(child, "pressed", child.pressed)
|
||||||
Global.undo_redo.add_undo_property(child, "pressed", child.pressed)
|
for c in Global.canvases:
|
||||||
for c in Global.canvases:
|
Global.undo_redo.add_do_property(c, "visible", false)
|
||||||
Global.undo_redo.add_do_property(c, "visible", false)
|
Global.undo_redo.add_undo_property(c, "visible", c.visible)
|
||||||
Global.undo_redo.add_undo_property(c, "visible", c.visible)
|
|
||||||
|
for i in range(frame, new_canvases.size()):
|
||||||
|
var c : Canvas = new_canvases[i]
|
||||||
|
Global.undo_redo.add_do_property(c, "frame", i)
|
||||||
|
Global.undo_redo.add_undo_property(c, "frame", c.frame)
|
||||||
|
|
||||||
|
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
||||||
|
Global.undo_redo.add_undo_property(Global, "canvas", Global.canvas)
|
||||||
|
Global.undo_redo.add_undo_property(Global, "current_frame", frame)
|
||||||
|
Global.undo_redo.commit_action()
|
||||||
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "hidden_canvases", new_hidden_canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvas", Global.canvas)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
|
||||||
Global.undo_redo.commit_action()
|
|
||||||
|
|
||||||
func _on_FrameTagButton_pressed() -> void:
|
func _on_FrameTagButton_pressed() -> void:
|
||||||
Global.tag_dialog.popup_centered()
|
Global.tag_dialog.popup_centered()
|
||||||
|
|
|
@ -42,46 +42,7 @@ func _on_PopupMenu_id_pressed(ID : int) -> void:
|
||||||
remove_frame()
|
remove_frame()
|
||||||
|
|
||||||
1: # Clone Frame
|
1: # Clone Frame
|
||||||
var canvas : Canvas = Global.canvases[frame]
|
Global.animation_timeline._on_CopyFrame_pressed(frame)
|
||||||
var new_canvas : Canvas = load("res://Prefabs/Canvas.tscn").instance()
|
|
||||||
new_canvas.size = Global.canvas.size
|
|
||||||
new_canvas.frame = Global.canvases.size()
|
|
||||||
|
|
||||||
var new_canvases := Global.canvases.duplicate()
|
|
||||||
new_canvases.append(new_canvas)
|
|
||||||
var new_hidden_canvases := Global.hidden_canvases.duplicate()
|
|
||||||
new_hidden_canvases.append(new_canvas)
|
|
||||||
|
|
||||||
for layer in canvas.layers: # Copy every layer
|
|
||||||
var sprite := Image.new()
|
|
||||||
sprite.copy_from(layer[0])
|
|
||||||
sprite.lock()
|
|
||||||
var tex := ImageTexture.new()
|
|
||||||
tex.create_from_image(sprite, 0)
|
|
||||||
new_canvas.layers.append([sprite, tex, layer[2]])
|
|
||||||
|
|
||||||
Global.undos += 1
|
|
||||||
Global.undo_redo.create_action("Add Frame")
|
|
||||||
Global.undo_redo.add_do_method(Global, "redo", [new_canvas])
|
|
||||||
Global.undo_redo.add_undo_method(Global, "undo", [new_canvas])
|
|
||||||
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
|
||||||
Global.undo_redo.add_do_property(Global, "hidden_canvases", Global.hidden_canvases)
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvas", new_canvas)
|
|
||||||
Global.undo_redo.add_do_property(Global, "current_frame", new_canvases.size() - 1)
|
|
||||||
for i in range(Global.layers.size()):
|
|
||||||
for child in Global.layers[i][3].get_children():
|
|
||||||
Global.undo_redo.add_do_property(child, "pressed", false)
|
|
||||||
Global.undo_redo.add_undo_property(child, "pressed", child.pressed)
|
|
||||||
for c in Global.canvases:
|
|
||||||
Global.undo_redo.add_do_property(c, "visible", false)
|
|
||||||
Global.undo_redo.add_undo_property(c, "visible", c.visible)
|
|
||||||
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "hidden_canvases", new_hidden_canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvas", Global.canvas)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
|
||||||
Global.undo_redo.commit_action()
|
|
||||||
|
|
||||||
2: # Move Left
|
2: # Move Left
|
||||||
change_frame_order(-1)
|
change_frame_order(-1)
|
||||||
|
@ -105,8 +66,6 @@ func remove_frame() -> void:
|
||||||
var canvas : Canvas = Global.canvases[frame]
|
var canvas : Canvas = Global.canvases[frame]
|
||||||
var new_canvases := Global.canvases.duplicate()
|
var new_canvases := Global.canvases.duplicate()
|
||||||
new_canvases.erase(canvas)
|
new_canvases.erase(canvas)
|
||||||
var new_hidden_canvases := Global.hidden_canvases.duplicate()
|
|
||||||
new_hidden_canvases.append(canvas)
|
|
||||||
var current_frame := Global.current_frame
|
var current_frame := Global.current_frame
|
||||||
if current_frame > 0 && current_frame == new_canvases.size(): # If it's the last frame
|
if current_frame > 0 && current_frame == new_canvases.size(): # If it's the last frame
|
||||||
current_frame -= 1
|
current_frame -= 1
|
||||||
|
@ -115,7 +74,6 @@ func remove_frame() -> void:
|
||||||
Global.undo_redo.create_action("Remove Frame")
|
Global.undo_redo.create_action("Remove Frame")
|
||||||
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
Global.undo_redo.add_do_property(Global, "canvases", new_canvases)
|
||||||
Global.undo_redo.add_do_property(Global, "hidden_canvases", new_hidden_canvases)
|
|
||||||
Global.undo_redo.add_do_property(Global, "canvas", new_canvases[current_frame])
|
Global.undo_redo.add_do_property(Global, "canvas", new_canvases[current_frame])
|
||||||
Global.undo_redo.add_do_property(Global, "current_frame", current_frame)
|
Global.undo_redo.add_do_property(Global, "current_frame", current_frame)
|
||||||
|
|
||||||
|
@ -125,7 +83,6 @@ func remove_frame() -> void:
|
||||||
Global.undo_redo.add_undo_property(c, "frame", c.frame)
|
Global.undo_redo.add_undo_property(c, "frame", c.frame)
|
||||||
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
Global.undo_redo.add_undo_property(Global, "canvases", Global.canvases)
|
||||||
Global.undo_redo.add_undo_property(Global, "hidden_canvases", Global.hidden_canvases)
|
|
||||||
Global.undo_redo.add_undo_property(Global, "canvas", canvas)
|
Global.undo_redo.add_undo_property(Global, "canvas", canvas)
|
||||||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
||||||
|
|
||||||
|
|
|
@ -44,8 +44,6 @@ var current_layer := 0 setget layer_changed
|
||||||
var can_draw := false
|
var can_draw := false
|
||||||
# warning-ignore:unused_class_variable
|
# warning-ignore:unused_class_variable
|
||||||
var has_focus := false
|
var has_focus := false
|
||||||
# warning-ignore:unused_class_variable
|
|
||||||
var hidden_canvases := []
|
|
||||||
var pressure_sensitivity_mode = Pressure_Sensitivity.NONE
|
var pressure_sensitivity_mode = Pressure_Sensitivity.NONE
|
||||||
var smooth_zoom := true
|
var smooth_zoom := true
|
||||||
var cursor_image = preload("res://Assets/Graphics/Cursor.png")
|
var cursor_image = preload("res://Assets/Graphics/Cursor.png")
|
||||||
|
|
Loading…
Add table
Reference in a new issue