[gd_scene load_steps=4 format=3 uid="uid://bn4aw27dj7pwi"]

[ext_resource type="Script" path="res://src/UI/Nodes/GradientEdit.gd" id="1"]

[sub_resource type="Gradient" id="Gradient_1k8kj"]
resource_local_to_scene = true

[sub_resource type="GradientTexture2D" id="GradientTexture2D_fau1l"]
resource_local_to_scene = true
gradient = SubResource("Gradient_1k8kj")

[node name="GradientEdit" type="VBoxContainer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource("1")

[node name="TextureRect" type="TextureRect" parent="."]
custom_minimum_size = Vector2(0, 30)
layout_mode = 2
size_flags_vertical = 3
texture = SubResource("GradientTexture2D_fau1l")
expand_mode = 1

[node name="Value" type="Label" parent="TextureRect"]
layout_mode = 0
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -7.0
offset_right = 20.0
offset_bottom = 7.0

[node name="Popup" type="PopupPanel" parent="."]

[node name="ColorPicker" type="ColorPicker" parent="Popup"]
offset_left = 4.0
offset_top = 4.0
offset_right = 294.0
offset_bottom = 572.0

[node name="InterpolationContainer" type="HBoxContainer" parent="."]
layout_mode = 2

[node name="Label" type="Label" parent="InterpolationContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Interpolation:"

[node name="InterpolationOptionButton" type="OptionButton" parent="InterpolationContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
mouse_default_cursor_shape = 2
item_count = 3
selected = 0
popup/item_0/text = "Linear"
popup/item_0/id = 0
popup/item_1/text = "Constant"
popup/item_1/id = 1
popup/item_2/text = "Cubic"
popup/item_2/id = 2

[node name="ColorSpaceContainer" type="HBoxContainer" parent="."]
layout_mode = 2

[node name="Label" type="Label" parent="ColorSpaceContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Color space:"

[node name="ColorSpaceOptionButton" type="OptionButton" parent="ColorSpaceContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
mouse_default_cursor_shape = 2
item_count = 3
selected = 0
popup/item_0/text = "sRGB"
popup/item_0/id = 0
popup/item_1/text = "Linear sRGB"
popup/item_1/id = 1
popup/item_2/text = "Oklab"
popup/item_2/id = 2

[node name="DivideButton" type="Button" parent="."]
layout_mode = 2
mouse_default_cursor_shape = 2
text = "Divide into equal parts"

[node name="DivideConfirmationDialog" type="ConfirmationDialog" parent="."]

[node name="VBoxContainer" type="VBoxContainer" parent="DivideConfirmationDialog"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 8.0
offset_top = 8.0
offset_right = -8.0
offset_bottom = -36.0

[node name="HBoxContainer" type="HBoxContainer" parent="DivideConfirmationDialog/VBoxContainer"]
layout_mode = 2

[node name="Label" type="Label" parent="DivideConfirmationDialog/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "Parts:"

[node name="NumberOfPartsSpinBox" type="SpinBox" parent="DivideConfirmationDialog/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
mouse_default_cursor_shape = 2
min_value = 2.0
value = 3.0
allow_greater = true

[node name="AddPointEndCheckBox" type="CheckBox" parent="DivideConfirmationDialog/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
tooltip_text = "If this is enabled, the last point gets added at the end of the gradient.
Disable this if you wish to convert the gradient to have constant interpolation, so that the last color will be taken into account."
mouse_default_cursor_shape = 2
text = "Add point at the end"

[connection signal="resized" from="." to="." method="_on_GradientEdit_resized"]
[connection signal="color_changed" from="Popup/ColorPicker" to="." method="_on_ColorPicker_color_changed"]
[connection signal="item_selected" from="InterpolationContainer/InterpolationOptionButton" to="." method="_on_InterpolationOptionButton_item_selected"]
[connection signal="item_selected" from="ColorSpaceContainer/ColorSpaceOptionButton" to="." method="_on_color_space_option_button_item_selected"]
[connection signal="pressed" from="DivideButton" to="." method="_on_DivideButton_pressed"]
[connection signal="confirmed" from="DivideConfirmationDialog" to="." method="_on_DivideConfirmationDialog_confirmed"]
