Finish safe area implementation
https://github.com/rust-windowing/winit/pull/3890 introduced Window::safe_area, but the implementation isn't completed on all platforms. Tracking this here:
- [ ] Android
- [x] AppKit / macOS: Implemented
- [ ] Orbital
- [x] UIKit / iOS: Implemented
- [x] Wayland: No protocol for that at the time of writing.
- [ ] Web: Calculate independently of scroll position, https://github.com/rust-windowing/winit/pull/3890#issuecomment-2438243038
- [ ] Windows
- [ ] X11
Maintainers: Feel free to check the box and remove the corresponding label, either if the implementation is completed, or it doesn't apply to that platform.
Note: Make sure to also wire it up so that RedrawRequested events are emitted when the safe area / insets change.
See also https://github.com/rust-windowing/winit/issues/3911.
Do not close this issue before the ## Platform-specific section on safe_area is updated too.
Could you please clarify your design model for windows that have invisible resize borders outside of what you have drawn in the svg? Those exist on WindowsOS and prevent using 0,0 for positioning windows with the current API design
Would the following more detailed scheme reflect the desired target design?
Also an edge case: if the invisible border becomes visible, should it also be ignored for consistency or should it become part of the Window box?
(see https://github.com/rust-windowing/winit/issues/4106 for more details on the source of confusion)
It should be considered the same as shadow, thus shouldn't be accounted for. In general, whatever is drawn outside of the window geometry shouldn't be accounted for. So the window is a titlebar with the visual border, anything shadow-like is not part of the main window geometry.
up! any news?