aboutsummaryrefslogtreecommitdiff
path: root/src/utils/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-29 14:29:37 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-06-18 12:23:50 +0300
commit997119c44338ad96a40b4a1d6e958f77062a37ef (patch)
treef04b9ed70866a3db0e186314ef0842cad4f8c7b6 /src/utils/mod.rs
parent032589446a4bb0ae856cfa035feeb3113d50ca8f (diff)
downloadniri-997119c44338ad96a40b4a1d6e958f77062a37ef.tar.gz
niri-997119c44338ad96a40b4a1d6e958f77062a37ef.tar.bz2
niri-997119c44338ad96a40b4a1d6e958f77062a37ef.zip
Enable fractional scaling
Diffstat (limited to 'src/utils/mod.rs')
-rw-r--r--src/utils/mod.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/utils/mod.rs b/src/utils/mod.rs
index 807244fa..3c6a36e0 100644
--- a/src/utils/mod.rs
+++ b/src/utils/mod.rs
@@ -96,13 +96,15 @@ pub fn to_physical_precise_round<N: Coordinate>(scale: f64, logical: impl Coordi
}
pub fn output_size(output: &Output) -> Size<i32, Logical> {
- let output_scale = output.current_scale().integer_scale();
+ let output_scale = output.current_scale().fractional_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)
+ // Like in LayerMap::arrange().
+ //
+ // FIXME: return fractional logical size.
+ let logical_size = output_mode.size.to_f64().to_logical(output_scale);
+ output_transform.transform_size(logical_size.to_i32_round())
}
pub fn logical_output(output: &Output) -> niri_ipc::LogicalOutput {