diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-12-24 14:30:19 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-12-24 14:30:19 +0400 |
| commit | 461ce5f3631c99e928280935d92f084f4b641b9e (patch) | |
| tree | 3bd2e302b30956f4c4a96dfff8475922d993ddde /src/utils.rs | |
| parent | 624c799ebf4470ca6dfc80592029132071730c57 (diff) | |
| download | niri-461ce5f3631c99e928280935d92f084f4b641b9e.tar.gz niri-461ce5f3631c99e928280935d92f084f4b641b9e.tar.bz2 niri-461ce5f3631c99e928280935d92f084f4b641b9e.zip | |
Move output_size to utils
Diffstat (limited to 'src/utils.rs')
| -rw-r--r-- | src/utils.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/utils.rs b/src/utils.rs index bf25819b..07c737df 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -11,8 +11,9 @@ use std::time::Duration; use anyhow::{ensure, Context}; use directories::UserDirs; +use smithay::output::Output; use smithay::reexports::rustix::time::{clock_gettime, ClockId}; -use smithay::utils::{Logical, Point, Rectangle}; +use smithay::utils::{Logical, Point, Rectangle, Size}; use crate::config::Config; @@ -25,6 +26,16 @@ pub fn center(rect: Rectangle<i32, Logical>) -> Point<i32, Logical> { rect.loc + rect.size.downscale(2).to_point() } +pub fn output_size(output: &Output) -> Size<i32, Logical> { + let output_scale = output.current_scale().integer_scale(); + let output_transform = output.current_transform(); + let output_mode = output.current_mode().unwrap(); + + output_transform + .transform_size(output_mode.size) + .to_logical(output_scale) +} + pub fn make_screenshot_path(config: &Config) -> anyhow::Result<Option<PathBuf>> { let Some(path) = &config.screenshot_path else { return Ok(None); |
