Skip to content

Commit e5a8e7c

Browse files
committed
Refactor: extract duplicate viewport-to-document conversion, simplify getViewportElement, fix GuideMessage import
1 parent c12a495 commit e5a8e7c

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

editor/src/messages/portfolio/document/guide_message_handler.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,14 @@ impl MessageHandler<GuideMessage, GuideMessageContext<'_>> for GuideMessageHandl
5050
viewport,
5151
} = context;
5252

53+
let viewport_to_document_point = |mouse_x: f64, mouse_y: f64| -> DVec2 {
54+
let document_to_viewport = navigation_handler.calculate_offset_transform(viewport.center_in_viewport_space().into(), document_ptz);
55+
document_to_viewport.inverse().transform_point2(DVec2::new(mouse_x, mouse_y))
56+
};
57+
5358
match message {
5459
GuideMessage::CreateGuide { id, direction, mouse_x, mouse_y } => {
55-
let document_to_viewport = navigation_handler.calculate_offset_transform(viewport.center_in_viewport_space().into(), document_ptz);
56-
let viewport_to_document = document_to_viewport.inverse();
57-
58-
let viewport_point = DVec2::new(mouse_x, mouse_y);
59-
let document_point = viewport_to_document.transform_point2(viewport_point);
60+
let document_point = viewport_to_document_point(mouse_x, mouse_y);
6061

6162
let document_position = match direction {
6263
GuideDirection::Horizontal => document_point.y,
@@ -69,11 +70,7 @@ impl MessageHandler<GuideMessage, GuideMessageContext<'_>> for GuideMessageHandl
6970
responses.add(PortfolioMessage::UpdateDocumentWidgets);
7071
}
7172
GuideMessage::MoveGuide { id, mouse_x, mouse_y } => {
72-
let document_to_viewport = navigation_handler.calculate_offset_transform(viewport.center_in_viewport_space().into(), document_ptz);
73-
let viewport_to_document = document_to_viewport.inverse();
74-
75-
let viewport_point = DVec2::new(mouse_x, mouse_y);
76-
let document_point = viewport_to_document.transform_point2(viewport_point);
73+
let document_point = viewport_to_document_point(mouse_x, mouse_y);
7774

7875
if let Some(guide) = self.guides.iter_mut().find(|guide| guide.id == id) {
7976
guide.position = match guide.direction {

editor/src/messages/portfolio/document/overlays/overlays_message_handler.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use super::utility_types::{OverlayProvider, OverlaysVisibilitySettings};
2+
#[cfg(not(test))]
23
use crate::messages::portfolio::document::guide_message::GuideMessage;
34
use crate::messages::prelude::*;
45

frontend/src/components/panels/Document.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@
162162
type GuideDirection = "Horizontal" | "Vertical";
163163
164164
function getViewportElement(): HTMLElement | undefined {
165-
return viewport ?? (window.document.querySelector("[data-viewport]") as HTMLElement) ?? undefined;
165+
return viewport;
166166
}
167167
168168
function getGuideMousePosition(event: PointerEvent, viewportRect: DOMRect): { mouseX: number; mouseY: number } {

0 commit comments

Comments
 (0)