summaryrefslogtreecommitdiffstats
path: root/scene/main/viewport.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/viewport.h')
-rw-r--r--scene/main/viewport.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/scene/main/viewport.h b/scene/main/viewport.h
index 65777c973f..82a9bfc438 100644
--- a/scene/main/viewport.h
+++ b/scene/main/viewport.h
@@ -361,6 +361,7 @@ private:
BitField<MouseButtonMask> mouse_focus_mask;
Control *key_focus = nullptr;
Control *mouse_over = nullptr;
+ LocalVector<Control *> mouse_over_hierarchy;
Window *subwindow_over = nullptr; // mouse_over and subwindow_over are mutually exclusive. At all times at least one of them is nullptr.
Window *windowmanager_window_over = nullptr; // Only used in root Viewport.
Control *drag_mouse_over = nullptr;
@@ -429,6 +430,7 @@ private:
void _gui_remove_control(Control *p_control);
void _gui_hide_control(Control *p_control);
+ void _gui_update_mouse_over();
void _gui_force_drag(Control *p_base, const Variant &p_data, Control *p_control);
void _gui_set_drag_preview(Control *p_base, Control *p_control);
@@ -455,7 +457,7 @@ private:
void _canvas_layer_add(CanvasLayer *p_canvas_layer);
void _canvas_layer_remove(CanvasLayer *p_canvas_layer);
- void _drop_mouse_over();
+ void _drop_mouse_over(Control *p_until_control = nullptr);
void _drop_mouse_focus();
void _drop_physics_mouseover(bool p_paused_only = false);
@@ -494,6 +496,7 @@ protected:
public:
void canvas_parent_mark_dirty(Node *p_node);
+ void canvas_item_top_level_changed();
uint64_t get_processed_events_count() const { return event_count; }