From a3ec179db25889dbb143305ad5cd5b3926f37aa0 Mon Sep 17 00:00:00 2001 From: Bayu Santoso Widodo Date: Thu, 22 Aug 2024 13:19:23 +0700 Subject: [PATCH] fix alpha slider always fallback to opaque --- .../color_wheel/color_wheel_script/alpha_slider.gd | 12 ++++++------ .../color_wheel/color_wheel_script/color_wheel.gd | 4 ++-- .../color_wheel/color_wheel_script/hue_slider.gd | 12 ++++++------ .../color_wheel/color_wheel_script/sv_slider.gd | 12 ++++++------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/alpha_slider.gd b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/alpha_slider.gd index c3bf48f..14a8d2a 100644 --- a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/alpha_slider.gd +++ b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/alpha_slider.gd @@ -26,24 +26,24 @@ func _draw() -> void: func _gui_input(event: InputEvent) -> void: if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed(): - if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(get_local_mouse_position()): + if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(event.position): double_click.emit() else: (PixelPen.state.current_project as PixelPenProject).create_undo_palette("Change palette color", func (): PixelPen.state.palette_changed.emit() ) _double_click_t = Time.get_unix_time_from_system() - _first_click_coor = get_local_mouse_position() + _first_click_coor = event.position _pressed = true - pick() + pick(event) if _pressed and event is InputEventMouseMotion: - pick() + pick(event) alpha_changed.emit(color.a) -func pick() -> void: - color.a = get_local_mouse_position().x / size.x +func pick(event: InputEvent) -> void: + color.a = event.position.x / size.x color.a = clampf(color.a, 0.0, 1.0) queue_redraw() diff --git a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/color_wheel.gd b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/color_wheel.gd index cff2d9b..7626d21 100644 --- a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/color_wheel.gd +++ b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/color_wheel.gd @@ -59,12 +59,12 @@ func _on_double_click() -> void: func _on_sv_slider_sv_changed(s: Variant, v: Variant) -> void: - color = Color.from_hsv(hue_slider.hue, s, v) + color = Color.from_hsv(hue_slider.hue, s, v, alpha_slider.color.a) color_changed.emit(color) func _on_hue_slider_hue_changed(hue: Variant) -> void: - color = Color.from_hsv(hue, sv_slider.saturation, sv_slider.value) + color = Color.from_hsv(hue, sv_slider.saturation, sv_slider.value, alpha_slider.color.a) sv_slider.hue = hue sv_slider.queue_redraw() color_changed.emit(color) diff --git a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/hue_slider.gd b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/hue_slider.gd index d7c32a1..3061db1 100644 --- a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/hue_slider.gd +++ b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/hue_slider.gd @@ -21,24 +21,24 @@ func _draw() -> void: func _gui_input(event: InputEvent) -> void: if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed(): - if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(get_local_mouse_position()): + if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(event.position): double_click.emit() else: (PixelPen.state.current_project as PixelPenProject).create_undo_palette("Change palette color", func (): PixelPen.state.palette_changed.emit() ) _double_click_t = Time.get_unix_time_from_system() - _first_click_coor = get_local_mouse_position() + _first_click_coor = event.position _pressed = true - pick() + pick(event) if _pressed and event is InputEventMouseMotion: - pick() + pick(event) hue_changed.emit(hue) -func pick() -> void: - hue = get_local_mouse_position().x / size.x +func pick(event: InputEvent) -> void: + hue = event.position.x / size.x hue = clampf(hue, 0.0, 1.0) queue_redraw() diff --git a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/sv_slider.gd b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/sv_slider.gd index e013b85..aa70c20 100644 --- a/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/sv_slider.gd +++ b/project/addons/net.yarvis.pixel_pen/editor/panels/color_wheel/color_wheel_script/sv_slider.gd @@ -24,24 +24,24 @@ func _draw() -> void: func _gui_input(event: InputEvent) -> void: if event is InputEventMouseButton: if event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed(): - if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(get_local_mouse_position()): + if Time.get_unix_time_from_system() - _double_click_t < 0.5 and _first_click_coor.is_equal_approx(event.position): double_click.emit() else: (PixelPen.state.current_project as PixelPenProject).create_undo_palette("Change palette color", func (): PixelPen.state.palette_changed.emit() ) _double_click_t = Time.get_unix_time_from_system() - _first_click_coor = get_local_mouse_position() + _first_click_coor = event.position _pressed = true - pick() + pick(event) if _pressed and event is InputEventMouseMotion: - pick() + pick(event) sv_changed.emit(saturation, value) -func pick() -> void: - var coordinate = get_local_mouse_position() / size +func pick(event: InputEvent) -> void: + var coordinate = event.position / size coordinate.x = clampf(coordinate.x, 0.0, 1.0) coordinate.y = clampf(coordinate.y, 0.0, 1.0) saturation = coordinate.x