mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-18 17:19:50 +00:00
Fix color picker changing hue when modifying the saturation and value inside the color picker shape
This commit is contained in:
parent
89de8ab461
commit
3f2245cd9b
|
@ -12,6 +12,7 @@ var shape_aspect_ratio: AspectRatioContainer
|
||||||
var swatches_button: Button
|
var swatches_button: Button
|
||||||
## The internal container for the color sliders of the [ColorPicker] node.
|
## The internal container for the color sliders of the [ColorPicker] node.
|
||||||
var color_sliders_vbox: VBoxContainer
|
var color_sliders_vbox: VBoxContainer
|
||||||
|
var _skip_color_picker_update := false
|
||||||
@onready var color_picker := %ColorPicker as ColorPicker
|
@onready var color_picker := %ColorPicker as ColorPicker
|
||||||
@onready var color_buttons := %ColorButtons as HBoxContainer
|
@onready var color_buttons := %ColorButtons as HBoxContainer
|
||||||
@onready var left_color_rect := %LeftColorRect as ColorRect
|
@onready var left_color_rect := %LeftColorRect as ColorRect
|
||||||
|
@ -105,10 +106,7 @@ func _on_color_picker_color_changed(color: Color) -> void:
|
||||||
# So we're using this trick to convert the values back to how they are shown in
|
# So we're using this trick to convert the values back to how they are shown in
|
||||||
# the color picker's UI.
|
# the color picker's UI.
|
||||||
color = Color(color.to_html())
|
color = Color(color.to_html())
|
||||||
if Tools.picking_color_for == MOUSE_BUTTON_RIGHT:
|
_skip_color_picker_update = true
|
||||||
right_color_rect.color = color
|
|
||||||
else:
|
|
||||||
left_color_rect.color = color
|
|
||||||
Tools.assign_color(color, Tools.picking_color_for)
|
Tools.assign_color(color, Tools.picking_color_for)
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,7 +128,7 @@ func reset_options() -> void:
|
||||||
|
|
||||||
func update_color(color_info: Dictionary, button: int) -> void:
|
func update_color(color_info: Dictionary, button: int) -> void:
|
||||||
var color = color_info.get("color", Color.WHITE)
|
var color = color_info.get("color", Color.WHITE)
|
||||||
if Tools.picking_color_for == button:
|
if Tools.picking_color_for == button and not _skip_color_picker_update:
|
||||||
color_picker.color = color
|
color_picker.color = color
|
||||||
if button == MOUSE_BUTTON_RIGHT:
|
if button == MOUSE_BUTTON_RIGHT:
|
||||||
right_color_rect.color = color
|
right_color_rect.color = color
|
||||||
|
@ -139,6 +137,7 @@ func update_color(color_info: Dictionary, button: int) -> void:
|
||||||
_average(left_color_rect.color, right_color_rect.color)
|
_average(left_color_rect.color, right_color_rect.color)
|
||||||
Global.config_cache.set_value("color_picker", "color_mode", color_picker.color_mode)
|
Global.config_cache.set_value("color_picker", "color_mode", color_picker.color_mode)
|
||||||
Global.config_cache.set_value("color_picker", "picker_shape", color_picker.picker_shape)
|
Global.config_cache.set_value("color_picker", "picker_shape", color_picker.picker_shape)
|
||||||
|
_skip_color_picker_update = false
|
||||||
|
|
||||||
|
|
||||||
func _on_ColorSwitch_pressed() -> void:
|
func _on_ColorSwitch_pressed() -> void:
|
||||||
|
|
Loading…
Reference in a new issue