monitor feature 用来启用显示器查询能力。它适合做窗口初始定位、多屏适配、读取工作区大小、按显示器 DPI 调整自定义逻辑等。
monitor
[dependencies] flor = { version = "0.1.0", features = ["direct2d", "monitor"] }
显示器入口在平台层。使用时导入 MonitorApi trait。
MonitorApi
use flor::base::platform::MonitorApi; use flor::platform::Monitor; let monitors = Monitor::enumerate_monitors()?; for monitor in monitors { println!( "{} primary={} scale={} dpi=({}, {})", monitor.name(), monitor.is_primary(), monitor.scale_factor(), monitor.dpi_x(), monitor.dpi_y(), ); }
Monitor::enumerate_monitors()
Monitor::monitor_from_point(x, y)
Monitor::monitor_from_window_id(window_id)
monitor.rect()
monitor.work_area()
monitor.scale_factor()
monitor.dpi_x()
monitor.dpi_y()
如果只是想让布局单位随窗口 DPI 更新,通常不需要手动查询显示器;看 高 DPI。