summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge L. Albany <Megacake1234@gmail.com>2024-10-25 04:23:50 +0000
committerGitHub <noreply@github.com>2024-10-25 04:23:50 +0000
commitaea98178593c861a03abe16c0b35df1e81c87682 (patch)
treed43fb5e0c068e50b12f5fb4d031bab8102285853
parent8abc9ee404420ddc082434a016b61fb22fc0b299 (diff)
parentb722734b5577ee341156c836f3cc26f106aa7cc2 (diff)
downloadredot-engine-aea98178593c861a03abe16c0b35df1e81c87682.tar.gz
Merge pull request #796 from Spartan322/add/colorpicker-old-color
Expose `ColorPicker.old_color` as a property
-rw-r--r--doc/classes/ColorPicker.xml6
-rw-r--r--scene/gui/color_picker.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index cf26f917e1..51c5c73207 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -70,12 +70,18 @@
<member name="deferred_mode" type="bool" setter="set_deferred_mode" getter="is_deferred_mode" default="false">
If [code]true[/code], the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
</member>
+ <member name="display_old_color" type="bool" setter="set_display_old_color" getter="is_displaying_old_color" default="false">
+ If [code]true[/code], [member old_color] will be displayed instead of [member color].
+ </member>
<member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha" default="true">
If [code]true[/code], shows an alpha channel slider (opacity).
</member>
<member name="hex_visible" type="bool" setter="set_hex_visible" getter="is_hex_visible" default="true">
If [code]true[/code], the hex color code input field is visible.
</member>
+ <member name="old_color" type="Color" setter="set_old_color" getter="get_old_color" default="Color(0, 0, 0, 1)">
+ The currently stored old color. See also [member display_old_color].
+ </member>
<member name="picker_shape" type="int" setter="set_picker_shape" getter="get_picker_shape" enum="ColorPicker.PickerShapeType" default="0">
The shape of the color space view. See [enum PickerShapeType].
</member>
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp
index 1c6a191923..d9a116f94d 100644
--- a/scene/gui/color_picker.cpp
+++ b/scene/gui/color_picker.cpp
@@ -1735,6 +1735,10 @@ bool ColorPicker::is_hex_visible() const {
void ColorPicker::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_pick_color", "color"), &ColorPicker::set_pick_color);
ClassDB::bind_method(D_METHOD("get_pick_color"), &ColorPicker::get_pick_color);
+ ClassDB::bind_method(D_METHOD("set_old_color", "color"), &ColorPicker::set_old_color);
+ ClassDB::bind_method(D_METHOD("get_old_color"), &ColorPicker::get_old_color);
+ ClassDB::bind_method(D_METHOD("set_display_old_color", "display"), &ColorPicker::set_display_old_color);
+ ClassDB::bind_method(D_METHOD("is_displaying_old_color"), &ColorPicker::is_displaying_old_color);
ClassDB::bind_method(D_METHOD("set_deferred_mode", "mode"), &ColorPicker::set_deferred_mode);
ClassDB::bind_method(D_METHOD("is_deferred_mode"), &ColorPicker::is_deferred_mode);
ClassDB::bind_method(D_METHOD("set_color_mode", "color_mode"), &ColorPicker::set_color_mode);
@@ -1763,6 +1767,8 @@ void ColorPicker::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_picker_shape"), &ColorPicker::get_picker_shape);
ADD_PROPERTY(PropertyInfo(Variant::COLOR, "color"), "set_pick_color", "get_pick_color");
+ ADD_PROPERTY(PropertyInfo(Variant::COLOR, "old_color"), "set_old_color", "get_old_color");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "display_old_color"), "set_display_old_color", "is_displaying_old_color");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "edit_alpha"), "set_edit_alpha", "is_editing_alpha");
ADD_PROPERTY(PropertyInfo(Variant::INT, "color_mode", PROPERTY_HINT_ENUM, "RGB,HSV,RAW,OKHSL"), "set_color_mode", "get_color_mode");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "deferred_mode"), "set_deferred_mode", "is_deferred_mode");