Skip to content

Commit 55bd8c0

Browse files
committed
Fix logic errors
1 parent e77e348 commit 55bd8c0

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

editor/src/messages/portfolio/document/utility_types/transformation.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,10 @@ impl Translation {
171171
Axis::Y => DVec2::Y * self.dragged_distance.dot(state.constraint_axis(self.constraint).unwrap_or_default()),
172172
}
173173
};
174-
let displacement = displacement * document_to_viewport.matrix2.y_axis.length(); // Values are local to the viewport but scaled so values are relative to the current scale.
175-
if state.is_rounded_to_intervals { displacement.round() } else { displacement }
174+
let displacement_viewport = displacement * document_to_viewport.matrix2.y_axis.length(); // Values are local to the viewport but scaled so values are relative to the current scale.
175+
let displacement_document = document_to_viewport.inverse().transform_vector2(displacement_viewport);
176+
let displacement_document = if state.is_rounded_to_intervals { displacement_document.round() } else { displacement_document }; // It rounds in document space?
177+
document_to_viewport.transform_vector2(displacement_document)
176178
}
177179

178180
#[must_use]

editor/src/messages/tool/transform_layer/transform_layer_message_handler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ impl MessageHandler<TransformLayerMessage, TransformLayerMessageContext<'_>> for
241241
});
242242

243243
let typed_string = (!self.typing.digits.is_empty() && self.transform_operation.can_begin_typing()).then(|| self.typing.string.clone());
244-
overlay_context.translation_box(translation_viewport, quad, typed_string);
244+
overlay_context.translation_box(translation_viewport / document_to_viewport.matrix2.y_axis.length(), quad, typed_string);
245245
}
246246
TransformOperation::Scaling(scale) => {
247247
let scale = scale.to_f64(self.state.is_rounded_to_intervals);

0 commit comments

Comments
 (0)