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:
parent
9ba5f6b023
commit
129885ddfc
2 changed files with 11 additions and 8 deletions
|
@ -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]
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue