summaryrefslogtreecommitdiffstats
path: root/scene/main/canvas_item.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-02-06 15:38:38 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-02-06 15:38:38 +0100
commit82ff7b4bcea89f9f4abe2716ed758ac5960566a5 (patch)
tree8bbbec4ffdfe04104be5e7bdec9253c0a71394cb /scene/main/canvas_item.cpp
parent62f2d122e605599575c83c1e738e59466ec9afe5 (diff)
parent6e855e38202862a806095c64b1a2fce7b1977b91 (diff)
downloadredot-engine-82ff7b4bcea89f9f4abe2716ed758ac5960566a5.tar.gz
Merge pull request #68492 from Sauermann/fix-picking-sort
Fix propagation order for 2D physics picking events
Diffstat (limited to 'scene/main/canvas_item.cpp')
-rw-r--r--scene/main/canvas_item.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/scene/main/canvas_item.cpp b/scene/main/canvas_item.cpp
index 0ea8f6c5f1..906b478eb3 100644
--- a/scene/main/canvas_item.cpp
+++ b/scene/main/canvas_item.cpp
@@ -491,6 +491,17 @@ int CanvasItem::get_z_index() const {
return z_index;
}
+int CanvasItem::get_effective_z_index() const {
+ int effective_z_index = z_index;
+ if (is_z_relative()) {
+ CanvasItem *p = get_parent_item();
+ if (p) {
+ effective_z_index += p->get_effective_z_index();
+ }
+ }
+ return effective_z_index;
+}
+
void CanvasItem::set_y_sort_enabled(bool p_enabled) {
y_sort_enabled = p_enabled;
RS::get_singleton()->canvas_item_set_sort_children_by_y(canvas_item, y_sort_enabled);