diff --git a/editor/src/tool/tools/line.rs b/editor/src/tool/tools/line.rs index b804d1028..8053ce197 100644 --- a/editor/src/tool/tools/line.rs +++ b/editor/src/tool/tools/line.rs @@ -226,12 +226,13 @@ fn generate_transform(data: &mut LineToolData, lock: bool, snap: bool, center: b } if center { - start -= dir / 2.; + start -= scale * DVec2::new(angle.cos(), angle.sin()); + scale *= 2.; } Operation::SetLayerTransformInViewport { path: data.path.clone().unwrap(), - transform: glam::DAffine2::from_scale_angle_translation(DVec2::splat(scale), angle, start).to_cols_array(), + transform: glam::DAffine2::from_scale_angle_translation(DVec2::new(scale, 1.), angle, start).to_cols_array(), } .into() }