Properly implement Debug for Window and EventLoop types (#3297)

For EventLoop, EventLoopBuilder, EventLoopProxy and by requiring it as
a supertrait of Window and ActiveEventLoop.

It is especially useful for user to be able to know that Window is Debug.
This commit is contained in:
Mads Marquart 2025-03-03 08:40:04 +01:00 committed by GitHub
parent 39c0862198
commit be1baf164c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
43 changed files with 152 additions and 42 deletions

View file

@ -165,7 +165,7 @@ bitflags! {
}
}
#[derive(Default)]
#[derive(Default, Debug)]
struct EventState {
keyboard: KeyboardModifierState,
mouse: MouseButtonState,
@ -274,6 +274,7 @@ impl EventState {
}
}
#[derive(Debug)]
pub struct EventLoop {
windows: Vec<(Arc<RedoxSocket>, EventState)>,
window_target: ActiveEventLoop,
@ -661,6 +662,7 @@ impl EventLoop {
}
}
#[derive(Debug)]
pub struct EventLoopProxy {
user_events_sender: mpsc::SyncSender<()>,
pub(super) wake_socket: TimeSocket,
@ -678,6 +680,7 @@ impl EventLoopProxyProvider for EventLoopProxy {
impl Unpin for EventLoopProxy {}
#[derive(Debug)]
pub struct ActiveEventLoop {
control_flow: Cell<ControlFlow>,
exit: Cell<bool>,

View file

@ -15,6 +15,7 @@ pub(crate) use crate::cursor::{
};
pub(crate) use crate::icon::NoIcon as PlatformIcon;
#[derive(Debug)]
struct RedoxSocket {
fd: usize,
}
@ -67,6 +68,7 @@ impl Drop for RedoxSocket {
}
}
#[derive(Debug)]
pub struct TimeSocket(RedoxSocket);
impl TimeSocket {

View file

@ -20,6 +20,7 @@ const ORBITAL_FLAG_MAXIMIZED: char = 'm';
const ORBITAL_FLAG_RESIZABLE: char = 'r';
const ORBITAL_FLAG_TRANSPARENT: char = 't';
#[derive(Debug)]
pub struct Window {
window_socket: Arc<RedoxSocket>,
redraws: Arc<Mutex<VecDeque<WindowId>>>,