You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
There isn't a clear way to tell if the pointer is currently over an egui painted region of a window when using non-Area/area derived containers. bevy_mod_picking tries to detect when it is over an egui piece using the Context::is_pointer_over_area
To Reproduce
Create a CentralPanel, pointer only detects background.
Expected behavior
Screenshots
Desktop (please complete the following information):
OS: Windows
Version 0.20
Additional context
The text was updated successfully, but these errors were encountered:
The issue is that a handful of bevy crates are using Context::is_pointer_over_area() early in the frame cycle, after input has been processed, but before any egui panels have been drawn. If the check is performed after any panels have been drawn, is_pointer_over_area() returns the correct results. But if you call it before drawing anything, it will always return false for Background layers.
is_pointer_over_area() is using FrameState.unused_rect.contains(...) to determine if the cursor position for Background layers falls within the layer:
I can see why egui isn't just using the result from Context::layer_id_at(); the panels are all the same Layer as areas that don't contain egui windows.
Is the solution here to make Panels persistent layers similar to Windows?
Describe the bug
There isn't a clear way to tell if the pointer is currently over an egui painted region of a window when using non-Area/area derived containers.
bevy_mod_picking
tries to detect when it is over an egui piece using theContext::is_pointer_over_area
To Reproduce
Create a CentralPanel, pointer only detects background.
Expected behavior
Screenshots
Desktop (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: