mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 05:41:31 +11:00
f9758528f6
Inner panics could make it hard to trouble shoot the issues and for some users it's not desirable. The inner panics were left only when they are used to `assert!` during development. This reverts commit 9f91bc413fe20618bd7090829832bb074aab15c3 which reverted the original patch which was merged without a proper review. Fixes: #500.
59 lines
1.6 KiB
Rust
59 lines
1.6 KiB
Rust
#![allow(clippy::single_match)]
|
|
|
|
use simple_logger::SimpleLogger;
|
|
use winit::dpi::{PhysicalPosition, PhysicalSize};
|
|
use winit::monitor::MonitorHandle;
|
|
use winit::{event_loop::EventLoop, window::WindowBuilder};
|
|
|
|
fn main() {
|
|
SimpleLogger::new().init().unwrap();
|
|
let event_loop = EventLoop::new().unwrap();
|
|
let window = WindowBuilder::new().build(&event_loop).unwrap();
|
|
|
|
if let Some(mon) = window.primary_monitor() {
|
|
print_info("Primary output", mon);
|
|
}
|
|
|
|
for mon in window.available_monitors() {
|
|
if Some(&mon) == window.primary_monitor().as_ref() {
|
|
continue;
|
|
}
|
|
|
|
println!();
|
|
print_info("Output", mon);
|
|
}
|
|
}
|
|
|
|
fn print_info(intro: &str, monitor: MonitorHandle) {
|
|
if let Some(name) = monitor.name() {
|
|
println!("{intro}: {name}");
|
|
} else {
|
|
println!("{intro}: [no name]");
|
|
}
|
|
|
|
let PhysicalSize { width, height } = monitor.size();
|
|
print!(" Current mode: {width}x{height}");
|
|
if let Some(m_hz) = monitor.refresh_rate_millihertz() {
|
|
println!(" @ {}.{} Hz", m_hz / 1000, m_hz % 1000);
|
|
} else {
|
|
println!();
|
|
}
|
|
|
|
let PhysicalPosition { x, y } = monitor.position();
|
|
println!(" Position: {x},{y}");
|
|
|
|
println!(" Scale factor: {}", monitor.scale_factor());
|
|
|
|
println!(" Available modes (width x height x bit-depth):");
|
|
for mode in monitor.video_modes() {
|
|
let PhysicalSize { width, height } = mode.size();
|
|
let bits = mode.bit_depth();
|
|
let m_hz = mode.refresh_rate_millihertz();
|
|
println!(
|
|
" {width}x{height}x{bits} @ {}.{} Hz",
|
|
m_hz / 1000,
|
|
m_hz % 1000
|
|
);
|
|
}
|
|
}
|