diff --git a/Main.tscn b/Main.tscn index 93fc305..d9d34b3 100644 --- a/Main.tscn +++ b/Main.tscn @@ -235,6 +235,7 @@ text = "[64×64]" align = 2 [node name="UI" type="HBoxContainer" parent="MenuAndUI"] +editor/display_folded = true margin_top = 28.0 margin_right = 1152.0 margin_bottom = 648.0 @@ -1417,16 +1418,43 @@ texture_normal = ExtResource( 55 ) texture_hover = ExtResource( 56 ) texture_disabled = ExtResource( 57 ) -[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] +[node name="OpacityCenter" type="CenterContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] +editor/display_folded = true margin_top = 38.0 margin_right = 224.0 -margin_bottom = 44.0 +margin_bottom = 55.0 + +[node name="OpacityContainer" type="HBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter"] +margin_left = 6.0 +margin_right = 218.0 +margin_bottom = 17.0 +size_flags_horizontal = 3 + +[node name="OpacityLabel" type="Label" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] +margin_top = 1.0 +margin_right = 44.0 +margin_bottom = 16.0 +text = "Opacity:" + +[node name="OpacitySlider" type="HSlider" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] +margin_left = 48.0 +margin_right = 154.0 +margin_bottom = 17.0 +rect_min_size = Vector2( 106, 0 ) +size_flags_vertical = 1 value = 100.0 ticks_on_borders = false +[node name="OpacitySpinBox" type="SpinBox" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer"] +margin_left = 158.0 +margin_right = 212.0 +margin_bottom = 17.0 +value = 100.0 +align = 1 + [node name="ScrollLayers" type="ScrollContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] editor/display_folded = true -margin_top = 50.0 +margin_top = 61.0 margin_right = 224.0 margin_bottom = 181.0 size_flags_horizontal = 3 @@ -1878,7 +1906,8 @@ visible = false [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/MovwDownLayer" to="." method="change_layer_order" binds= [ -1 ]] [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/CloneLayer" to="." method="add_layer" binds= [ false ]] [connection signal="pressed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/CenterLayerButtons/LayerButtons/MergeDownLayer" to="." method="_on_MergeLayer_pressed"] -[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacitySlider" to="." method="_on_OpacitySlider_value_changed"] +[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer/OpacitySlider" to="." method="_on_OpacitySlider_value_changed"] +[connection signal="value_changed" from="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer/OpacityCenter/OpacityContainer/OpacitySpinBox" to="." method="_on_OpacitySlider_value_changed"] [connection signal="toggled" from="SplitScreenButton" to="." method="_on_SplitScreenButton_toggled"] [connection signal="confirmed" from="CreateNewImage" to="." method="_on_CreateNewImage_confirmed"] [connection signal="popup_hide" from="CreateNewImage" to="." method="_can_draw_true"] diff --git a/Scripts/Global.gd b/Scripts/Global.gd index be5f015..671b644 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -190,6 +190,7 @@ var move_up_layer_button : BaseButton var move_down_layer_button : BaseButton var merge_down_layer_button : BaseButton var layer_opacity_slider : HSlider +var layer_opacity_spinbox : SpinBox var add_palette_button : TextureButton var remove_palette_button : TextureButton @@ -294,6 +295,7 @@ func _ready() -> void: merge_down_layer_button = find_node_by_name(layer_buttons, "MergeDownLayer") layer_opacity_slider = find_node_by_name(layer_stuff_container, "OpacitySlider") + layer_opacity_spinbox = find_node_by_name(layer_stuff_container, "OpacitySpinBox") vbox_layer_container = find_node_by_name(layer_stuff_container, "VBoxLayerContainer") add_palette_button = find_node_by_name(root, "AddPalette") diff --git a/Scripts/LayerContainer.gd b/Scripts/LayerContainer.gd index a80a6ef..fead161 100644 --- a/Scripts/LayerContainer.gd +++ b/Scripts/LayerContainer.gd @@ -47,6 +47,7 @@ func changed_selection() -> void: child.currently_selected = true child.pressed = true Global.layer_opacity_slider.value = Global.canvas.layers[child.i][4] * 100 + Global.layer_opacity_spinbox.value = Global.canvas.layers[child.i][4] * 100 if Global.canvas.current_layer_index < Global.canvas.layers.size() - 1: Global.move_up_layer_button.disabled = false diff --git a/Scripts/Main.gd b/Scripts/Main.gd index ebc8482..c7e3804 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -1130,6 +1130,8 @@ func _on_RightVerticalMirroring_toggled(button_pressed) -> void: func _on_OpacitySlider_value_changed(value) -> void: Global.canvas.layers[Global.canvas.current_layer_index][4] = value / 100 + Global.layer_opacity_slider.value = value + Global.layer_opacity_spinbox.value = value func _on_QuitDialog_confirmed() -> void: # Darken the UI to denote that the application is currently exiting