diff options
| author | Juan Linietsky | 2016-01-24 10:57:42 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2016-01-24 10:57:42 -0300 |
| commit | 35a28f34426eb6c44a5e321bbd630c64d8b38de0 (patch) | |
| tree | b1bffbbe03280874103f4bcd3d89f5ebad6c0800 /scene/gui | |
| parent | c247f5ad61f2575c321fb8117ed4212611e8cdf4 (diff) | |
| download | godot-35a28f34426eb6c44a5e321bbd630c64d8b38de0.tar.gz godot-35a28f34426eb6c44a5e321bbd630c64d8b38de0.tar.zst godot-35a28f34426eb6c44a5e321bbd630c64d8b38de0.zip | |
-Take in consideration canvas layers for GUI input
Diffstat (limited to 'scene/gui')
| -rw-r--r-- | scene/gui/control.cpp | 2 | ||||
| -rw-r--r-- | scene/gui/control.h | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index dce0a4ac0..71a0f5024 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -2071,6 +2071,8 @@ Control *Control::get_root_parent_control() const { return const_cast<Control*>(root); } + + void Control::_bind_methods() { diff --git a/scene/gui/control.h b/scene/gui/control.h index a16d88a6d..74d40b757 100644 --- a/scene/gui/control.h +++ b/scene/gui/control.h @@ -97,7 +97,12 @@ private: struct CComparator { - bool operator()(const Control* p_a, const Control* p_b) const { return p_b->is_greater_than(p_a); } + bool operator()(const Control* p_a, const Control* p_b) const { + if (p_a->get_canvas_layer()==p_b->get_canvas_layer()) + return p_b->is_greater_than(p_a); + else + return p_a->get_canvas_layer() < p_b->get_canvas_layer(); + } }; struct Data { |
