diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-29 14:29:37 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-06-18 12:23:50 +0300 |
| commit | 997119c44338ad96a40b4a1d6e958f77062a37ef (patch) | |
| tree | f04b9ed70866a3db0e186314ef0842cad4f8c7b6 /src/utils/mod.rs | |
| parent | 032589446a4bb0ae856cfa035feeb3113d50ca8f (diff) | |
| download | niri-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.rs | 10 |
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 { |
