mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-22 05:23:14 +00:00
Cloning layers now adds "(copy") to the layer name
So if you clone "Layer 0", the cloned layer's name will be "Layer 0 (copy)"
This commit is contained in:
parent
9ba5f6b023
commit
129885ddfc
2 changed files with 11 additions and 8 deletions
|
@ -31,7 +31,7 @@ var line_2d : Line2D
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
Global.can_draw = false
|
Global.can_draw = false
|
||||||
|
|
||||||
#The sprite itself
|
# The sprite itself
|
||||||
if layers.empty():
|
if layers.empty():
|
||||||
var sprite := Image.new()
|
var sprite := Image.new()
|
||||||
sprite.create(size.x, size.y, false, Image.FORMAT_RGBA8)
|
sprite.create(size.x, size.y, false, Image.FORMAT_RGBA8)
|
||||||
|
@ -40,7 +40,7 @@ func _ready() -> void:
|
||||||
var tex := ImageTexture.new()
|
var tex := ImageTexture.new()
|
||||||
tex.create_from_image(sprite, 0)
|
tex.create_from_image(sprite, 0)
|
||||||
|
|
||||||
#Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity]
|
# Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity]
|
||||||
layers.append([sprite, tex, "Layer 0", true, 1])
|
layers.append([sprite, tex, "Layer 0", true, 1])
|
||||||
|
|
||||||
generate_layer_panels()
|
generate_layer_panels()
|
||||||
|
@ -56,12 +56,12 @@ func _ready() -> void:
|
||||||
frame_texture_rect = Global.find_node_by_name(frame_button, "FrameTexture")
|
frame_texture_rect = Global.find_node_by_name(frame_button, "FrameTexture")
|
||||||
frame_texture_rect.texture = layers[0][1] #ImageTexture current_layer_index
|
frame_texture_rect.texture = layers[0][1] #ImageTexture current_layer_index
|
||||||
|
|
||||||
#Only handle camera zoom settings & offset on the first frame
|
# Only handle camera zoom settings & offset on the first frame
|
||||||
if Global.canvases[0] == self:
|
if Global.canvases[0] == self:
|
||||||
camera_zoom()
|
camera_zoom()
|
||||||
|
|
||||||
func camera_zoom() -> void:
|
func camera_zoom() -> void:
|
||||||
#Set camera zoom based on the sprite size
|
# Set camera zoom based on the sprite size
|
||||||
var bigger = max(size.x, size.y)
|
var bigger = max(size.x, size.y)
|
||||||
var zoom_max := Vector2(bigger, bigger) * 0.01
|
var zoom_max := Vector2(bigger, bigger) * 0.01
|
||||||
if zoom_max > Vector2.ONE:
|
if zoom_max > Vector2.ONE:
|
||||||
|
@ -78,7 +78,7 @@ func camera_zoom() -> void:
|
||||||
Global.camera_preview.zoom = Vector2(bigger, bigger) * 0.007
|
Global.camera_preview.zoom = Vector2(bigger, bigger) * 0.007
|
||||||
Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %"
|
Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %"
|
||||||
|
|
||||||
#Set camera offset to the center of canvas
|
# Set camera offset to the center of canvas
|
||||||
Global.camera.offset = size / 2
|
Global.camera.offset = size / 2
|
||||||
Global.camera2.offset = size / 2
|
Global.camera2.offset = size / 2
|
||||||
Global.camera_preview.offset = size / 2
|
Global.camera_preview.offset = size / 2
|
||||||
|
@ -504,7 +504,7 @@ func generate_layer_panels() -> void:
|
||||||
for i in range(layers.size() -1, -1, -1):
|
for i in range(layers.size() -1, -1, -1):
|
||||||
var layer_container = load("res://Prefabs/LayerContainer.tscn").instance()
|
var layer_container = load("res://Prefabs/LayerContainer.tscn").instance()
|
||||||
if !layers[i][2]:
|
if !layers[i][2]:
|
||||||
layers[i][2] = "Layer %s" % i
|
layers[i][2] = tr("Layer") + " %s" % i
|
||||||
layer_container.i = i
|
layer_container.i = i
|
||||||
layer_container.get_child(1).get_child(0).texture = layers[i][1]
|
layer_container.get_child(1).get_child(0).texture = layers[i][1]
|
||||||
layer_container.get_child(1).get_child(1).text = layers[i][2]
|
layer_container.get_child(1).get_child(1).text = layers[i][2]
|
||||||
|
|
|
@ -616,16 +616,19 @@ func _on_RightBrushSizeEdit_value_changed(value) -> void:
|
||||||
|
|
||||||
func add_layer(is_new := true) -> void:
|
func add_layer(is_new := true) -> void:
|
||||||
var new_layer := Image.new()
|
var new_layer := Image.new()
|
||||||
|
var layer_name = null
|
||||||
if is_new:
|
if is_new:
|
||||||
new_layer.create(Global.canvas.size.x, Global.canvas.size.y, false, Image.FORMAT_RGBA8)
|
new_layer.create(Global.canvas.size.x, Global.canvas.size.y, false, Image.FORMAT_RGBA8)
|
||||||
else: #clone layer
|
else: # clone layer
|
||||||
new_layer.copy_from(Global.canvas.layers[Global.canvas.current_layer_index][0])
|
new_layer.copy_from(Global.canvas.layers[Global.canvas.current_layer_index][0])
|
||||||
|
layer_name = Global.canvas.layers[Global.canvas.current_layer_index][2] + " (" + tr("copy") + ")"
|
||||||
new_layer.lock()
|
new_layer.lock()
|
||||||
var new_layer_tex := ImageTexture.new()
|
var new_layer_tex := ImageTexture.new()
|
||||||
new_layer_tex.create_from_image(new_layer, 0)
|
new_layer_tex.create_from_image(new_layer, 0)
|
||||||
|
|
||||||
var new_layers: Array = Global.canvas.layers.duplicate()
|
var new_layers: Array = Global.canvas.layers.duplicate()
|
||||||
new_layers.append([new_layer, new_layer_tex, null, true, 1])
|
# Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity]
|
||||||
|
new_layers.append([new_layer, new_layer_tex, layer_name, true, 1])
|
||||||
Global.undos += 1
|
Global.undos += 1
|
||||||
Global.undo_redo.create_action("Add Layer")
|
Global.undo_redo.create_action("Add Layer")
|
||||||
Global.undo_redo.add_do_property(Global.canvas, "layers", new_layers)
|
Global.undo_redo.add_do_property(Global.canvas, "layers", new_layers)
|
||||||
|
|
Loading…
Add table
Reference in a new issue