Skip to content

Commit 5248cff

Browse files
committed
Code review
1 parent 1694fd3 commit 5248cff

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

editor/src/consts.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ pub const IMPORTS_TO_LEFT_EDGE_PIXEL_GAP: u32 = 120;
88
pub const STACK_VERTICAL_GAP: i32 = 3;
99
/// Horizontal grid indentation of a child layer relative to its parent layer.
1010
pub const LAYER_INDENT_OFFSET: i32 = 8;
11+
/// Horizontal grid width of a non-layer node in a chain.
12+
pub const NODE_CHAIN_WIDTH: i32 = 7;
1113

1214
// VIEWPORT
1315
pub const VIEWPORT_ZOOM_WHEEL_RATE: f64 = (1. / 600.) * 3.;

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ use super::utility_types::misc::{GroupFolderType, SNAP_FUNCTIONS_FOR_BOUNDING_BO
44
use super::utility_types::network_interface::{self, NodeNetworkInterface, TransactionStatus};
55
use super::utility_types::nodes::{CollapsedLayers, LayerStructureEntry, SelectedNodes};
66
use crate::application::{GRAPHITE_GIT_COMMIT_HASH, generate_uuid};
7-
use crate::consts::{ASYMPTOTIC_EFFECT, COLOR_OVERLAY_GRAY, DEFAULT_DOCUMENT_NAME, FILE_EXTENSION, LAYER_INDENT_OFFSET, SCALE_EFFECT, SCROLLBAR_SPACING, VIEWPORT_ROTATE_SNAP_INTERVAL};
7+
use crate::consts::{
8+
ASYMPTOTIC_EFFECT, COLOR_OVERLAY_GRAY, DEFAULT_DOCUMENT_NAME, FILE_EXTENSION, LAYER_INDENT_OFFSET, NODE_CHAIN_WIDTH, SCALE_EFFECT, SCROLLBAR_SPACING, VIEWPORT_ROTATE_SNAP_INTERVAL,
9+
};
810
use crate::messages::input_mapper::utility_types::macros::action_shortcut;
911
use crate::messages::layout::utility_types::widget_prelude::*;
1012
use crate::messages::portfolio::document::data_panel::{DataPanelMessageContext, DataPanelMessageHandler};
@@ -665,7 +667,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
665667
let layer_parent = self.new_layer_parent(true);
666668
let image_size = DVec2::new(image.width as f64, image.height as f64);
667669

668-
let transform = if place_at_origin {
670+
let mut transform = if place_at_origin {
669671
// File-open flow: place at document origin without centering so `WrapContentInArtboard` can wrap it
670672
DAffine2::from_scale(image_size)
671673
} else {
@@ -679,6 +681,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
679681
let cursor_in_parent = parent_to_document.inverse() * self.document_transform_from_mouse(mouse, viewport);
680682
cursor_in_parent * DAffine2::from_scale_angle_translation(image_size, 0., image_size / -2.)
681683
};
684+
transform.translation = transform.translation.round();
682685

683686
let layer_node_id = NodeId::new();
684687
let layer_id = LayerNodeIdentifier::new_unchecked(layer_node_id);
@@ -1394,10 +1397,10 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
13941397
node_template: Box::new(new_artboard_node),
13951398
});
13961399
let needs_content_transform = !content_shift.abs_diff_eq(DVec2::ZERO, 1e-6);
1397-
// With a content Transform node: use x: 15 (8 indent + 7 for the node width). Without: use x: LAYER_INDENT_OFFSET.
1400+
// With a content Transform node: shift by the layer indent plus the node width. Without: use just the layer indent.
13981401
responses.add(NodeGraphMessage::ShiftNodePosition {
13991402
node_id,
1400-
x: if needs_content_transform { 15 } else { LAYER_INDENT_OFFSET },
1403+
x: if needs_content_transform { LAYER_INDENT_OFFSET + NODE_CHAIN_WIDTH } else { LAYER_INDENT_OFFSET },
14011404
y: -3,
14021405
});
14031406
responses.add(GraphOperationMessage::ResizeArtboard {

0 commit comments

Comments
 (0)