tiling: Fix broken minimize animation

This commit is contained in:
Victoria Brekenfeld 2024-02-29 17:44:51 +01:00 committed by Victoria Brekenfeld
parent fa5af98b9d
commit e669396fd5

View file

@ -4707,7 +4707,7 @@ where
if let Some(minimize_geo) = minimize_geo { if let Some(minimize_geo) = minimize_geo {
scaled_geo = Some( scaled_geo = Some(
ease( ease(
EaseInOutCubic, Linear,
EaseRectangle(*original_geo), EaseRectangle(*original_geo),
EaseRectangle(*minimize_geo), EaseRectangle(*minimize_geo),
percentage, percentage,
@ -4715,6 +4715,7 @@ where
.unwrap(), .unwrap(),
); );
} }
let (scale, offset) = scaled_geo let (scale, offset) = scaled_geo
.map(|adapted_geo| scale_to_center(&original_geo, &adapted_geo)) .map(|adapted_geo| scale_to_center(&original_geo, &adapted_geo))
.unwrap_or_else(|| (1.0.into(), (0, 0).into())); .unwrap_or_else(|| (1.0.into(), (0, 0).into()));
@ -4730,20 +4731,13 @@ where
}) })
.unwrap_or(*original_geo); .unwrap_or(*original_geo);
let original_location = original_geo
.loc
.as_logical()
.to_physical_precise_round(output_scale)
- mapped
.geometry()
.loc
.to_physical_precise_round(output_scale);
let elem_geometry = mapped.geometry().to_physical_precise_round(output_scale); let elem_geometry = mapped.geometry().to_physical_precise_round(output_scale);
let (w_elements, p_elements) = mapped let (w_elements, p_elements) = mapped
.split_render_elements::<R, CosmicMappedRenderElement<R>>( .split_render_elements::<R, CosmicMappedRenderElement<R>>(
renderer, renderer,
original_location, geo.loc.as_logical().to_physical_precise_round(output_scale)
- elem_geometry.loc,
Scale::from(output_scale), Scale::from(output_scale),
1.0 - percentage, 1.0 - percentage,
); );