diff options
Diffstat (limited to 'src/utils')
| -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 { |
