mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-21 19:48:11 +08:00
Improve nudging when tilted and add Artboard tool nudge resizing; disable menu bar entries when no layer is selected (#2098)
* Make nudging follow a tilted viewport * Add artboard nudge resizing
This commit is contained in:
@@ -10,7 +10,7 @@ use bezier_rs::{Bezier, BezierHandles, TValue};
|
||||
use graphene_core::transform::Transform;
|
||||
use graphene_core::vector::{ManipulatorPointId, PointId, VectorData, VectorModificationType};
|
||||
|
||||
use glam::DVec2;
|
||||
use glam::{DAffine2, DVec2};
|
||||
use graphene_std::vector::{HandleId, SegmentId};
|
||||
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone, Default)]
|
||||
@@ -628,7 +628,11 @@ impl ShapeState {
|
||||
|
||||
let transform_to_viewport_space = document.metadata().transform_to_viewport(layer);
|
||||
let transform_to_document_space = document.metadata().transform_to_document(layer);
|
||||
let delta_transform = if in_viewport_space { transform_to_viewport_space } else { transform_to_document_space };
|
||||
let delta_transform = if in_viewport_space {
|
||||
transform_to_viewport_space
|
||||
} else {
|
||||
DAffine2::from_angle(document.document_ptz.tilt()) * transform_to_document_space
|
||||
};
|
||||
let delta = delta_transform.inverse().transform_vector2(delta);
|
||||
|
||||
for &point in state.selected_points.iter() {
|
||||
|
||||
@@ -189,7 +189,7 @@ impl SelectedEdges {
|
||||
if !enlargement_factor.y.is_finite() || old_size.y.abs() < f64::EPSILON * 1000. {
|
||||
enlargement_factor.y = 1.;
|
||||
}
|
||||
let mut pivot = (self.bounds[0] * enlargement_factor - position) / (enlargement_factor - DVec2::splat(1.));
|
||||
let mut pivot = (self.bounds[0] * enlargement_factor - position) / (enlargement_factor - DVec2::ONE);
|
||||
if !pivot.x.is_finite() {
|
||||
pivot.x = 0.;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user