From 2b640317860db9bd19ff0f11f2f98538c9543ec1 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Thu, 24 Oct 2019 00:36:22 +0300 Subject: [PATCH] Merge mirrored drawing and flip --- Scripts/Canvas.gd | 4 +++- Scripts/Main.gd | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Scripts/Canvas.gd b/Scripts/Canvas.gd index 41432606e..25e5c6ff2 100644 --- a/Scripts/Canvas.gd +++ b/Scripts/Canvas.gd @@ -211,6 +211,7 @@ func _process(delta) -> void: if sprite_changed_this_frame: update_texture(current_layer_index) + func update_texture(layer_index : int) -> void: layers[layer_index][1].create_from_image(layers[layer_index][0], 0) @@ -564,4 +565,5 @@ func rectangle_center(pos : Vector2, size : Vector2) -> Vector2: return (pos - size / 2).floor() func _on_Timer_timeout() -> void: - Global.can_draw = true \ No newline at end of file + Global.can_draw = true + \ No newline at end of file diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 94ff0aa3a..b49ea631c 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -33,7 +33,9 @@ func _ready() -> void: var edit_menu_items := { "Scale Image" : 0, "Crop Image" : 0, - "Clear Selection" : 0 + "Clear Selection" : 0, + "Flip Horizontal": KEY_MASK_SHIFT + KEY_H, + "Flip Vertical": KEY_MASK_SHIFT + KEY_V #"Undo" : KEY_MASK_CTRL + KEY_Z, #"Redo" : KEY_MASK_SHIFT + KEY_MASK_CTRL + KEY_Z, } @@ -182,6 +184,18 @@ func edit_menu_id_pressed(id : int) -> void: Global.selection_rectangle.polygon[2] = Vector2.ZERO Global.selection_rectangle.polygon[3] = Vector2.ZERO Global.selected_pixels.clear() + 3: # Flip Horizontal + var canvas = Global.canvas + canvas.layers[canvas.current_layer_index][0].unlock() + canvas.layers[canvas.current_layer_index][0].flip_x() + canvas.layers[canvas.current_layer_index][0].lock() + canvas.update_texture(canvas.current_layer_index) + 4: # Flip Vertical + var canvas = Global.canvas + canvas.layers[canvas.current_layer_index][0].unlock() + canvas.layers[canvas.current_layer_index][0].flip_y() + canvas.layers[canvas.current_layer_index][0].lock() + canvas.update_texture(canvas.current_layer_index) func view_menu_id_pressed(id : int) -> void: match id: