1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-20 12:33: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:
OverloadedOrama 2019-12-30 22:05:09 +02:00
parent 9ba5f6b023
commit 129885ddfc
2 changed files with 11 additions and 8 deletions

View file

@ -31,7 +31,7 @@ var line_2d : Line2D
func _ready() -> void:
Global.can_draw = false
#The sprite itself
# The sprite itself
if layers.empty():
var sprite := Image.new()
sprite.create(size.x, size.y, false, Image.FORMAT_RGBA8)
@ -40,7 +40,7 @@ func _ready() -> void:
var tex := ImageTexture.new()
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])
generate_layer_panels()
@ -56,12 +56,12 @@ func _ready() -> void:
frame_texture_rect = Global.find_node_by_name(frame_button, "FrameTexture")
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:
camera_zoom()
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 zoom_max := Vector2(bigger, bigger) * 0.01
if zoom_max > Vector2.ONE:
@ -78,7 +78,7 @@ func camera_zoom() -> void:
Global.camera_preview.zoom = Vector2(bigger, bigger) * 0.007
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.camera2.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):
var layer_container = load("res://Prefabs/LayerContainer.tscn").instance()
if !layers[i][2]:
layers[i][2] = "Layer %s" % i
layers[i][2] = tr("Layer") + " %s" % i
layer_container.i = i
layer_container.get_child(1).get_child(0).texture = layers[i][1]
layer_container.get_child(1).get_child(1).text = layers[i][2]

View file

@ -616,16 +616,19 @@ func _on_RightBrushSizeEdit_value_changed(value) -> void:
func add_layer(is_new := true) -> void:
var new_layer := Image.new()
var layer_name = null
if is_new:
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])
layer_name = Global.canvas.layers[Global.canvas.current_layer_index][2] + " (" + tr("copy") + ")"
new_layer.lock()
var new_layer_tex := ImageTexture.new()
new_layer_tex.create_from_image(new_layer, 0)
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.undo_redo.create_action("Add Layer")
Global.undo_redo.add_do_property(Global.canvas, "layers", new_layers)