diff options
author | Rindbee <idleman@yeah.net> | 2022-06-13 18:54:48 +0800 |
---|---|---|
committer | Rindbee <idleman@yeah.net> | 2022-06-15 12:44:36 +0800 |
commit | fd285e19edd37111f0e61004ed7a25d3540dbe7e (patch) | |
tree | ba2d222f7c5a9c77ace64c610813b49c2c7145fb | |
parent | f9f3db443e1c3004f1c4418967d9c900c8923692 (diff) |
Fix the bug that the sampling position is reversed, make eyedrop reusable.
-rw-r--r-- | scene/gui/color_picker.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index 5fff1e1df3..28d645e8f6 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -1108,7 +1108,7 @@ void ColorPicker::_screen_input(const Ref<InputEvent> &p_event) { Ref<Image> img = r->get_texture()->get_image(); if (img.is_valid() && !img->is_empty()) { Vector2 ofs = mev->get_global_position() - r->get_visible_rect().get_position(); - Color c = img->get_pixel(ofs.x, r->get_visible_rect().size.height - ofs.y); + Color c = img->get_pixel(ofs.x, ofs.y); set_pick_color(c); } @@ -1135,6 +1135,8 @@ void ColorPicker::_screen_pick_pressed() { screen->connect("gui_input", callable_mp(this, &ColorPicker::_screen_input)); // It immediately toggles off in the first press otherwise. screen->call_deferred(SNAME("connect"), "hidden", Callable(btn_pick, "set_pressed"), varray(false)); + } else { + screen->show(); } screen->raise(); #ifndef _MSC_VER |