mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 19:08:05 +08:00
committed by
Keavon Chambers
parent
a1b91c75c7
commit
bac34e3e64
@@ -91,7 +91,7 @@ pub struct PropertiesPanelMessageHandler {
|
||||
|
||||
impl PropertiesPanelMessageHandler {
|
||||
fn matches_selected(&self, path: &[LayerId]) -> bool {
|
||||
let last_active_path = self.active_path.as_ref().map(|v| v.last().copied()).flatten();
|
||||
let last_active_path = self.active_path.as_ref().and_then(|v| v.last().copied());
|
||||
let last_modified = path.last().copied();
|
||||
matches!((last_active_path, last_modified), (Some(active_last), Some(modified_last)) if active_last == modified_last)
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ impl<'a> Iterator for WidgetIter<'a> {
|
||||
type Item = &'a WidgetHolder;
|
||||
|
||||
fn next(&mut self) -> Option<Self::Item> {
|
||||
if let Some(item) = self.current_slice.map(|slice| slice.first()).flatten() {
|
||||
if let Some(item) = self.current_slice.and_then(|slice| slice.first()) {
|
||||
self.current_slice = Some(&self.current_slice.unwrap()[1..]);
|
||||
return Some(item);
|
||||
}
|
||||
@@ -97,7 +97,7 @@ impl<'a> Iterator for WidgetIterMut<'a> {
|
||||
type Item = &'a mut WidgetHolder;
|
||||
|
||||
fn next(&mut self) -> Option<Self::Item> {
|
||||
if let Some((first, rest)) = self.current_slice.take().map(|slice| slice.split_first_mut()).flatten() {
|
||||
if let Some((first, rest)) = self.current_slice.take().and_then(|slice| slice.split_first_mut()) {
|
||||
self.current_slice = Some(rest);
|
||||
return Some(first);
|
||||
};
|
||||
|
||||
@@ -288,7 +288,7 @@ impl Fsm for GradientToolFsmState {
|
||||
let dragging_start = data
|
||||
.selected_gradient
|
||||
.as_ref()
|
||||
.map_or(None, |selected| if selected.path == path { Some(selected.dragging_start) } else { None });
|
||||
.and_then(|selected| if selected.path == path { Some(selected.dragging_start) } else { None });
|
||||
data.gradient_overlays.push(GradientOverlay::new(gradient, dragging_start, path, layer, document, responses))
|
||||
}
|
||||
}
|
||||
@@ -308,7 +308,7 @@ impl Fsm for GradientToolFsmState {
|
||||
start_snap(&mut data.snap_handler, document, document.graphene_document.layer(&overlay.path).unwrap(), &overlay.path);
|
||||
data.selected_gradient = Some(SelectedGradient {
|
||||
path: overlay.path.clone(),
|
||||
transform: overlay.transform.clone(),
|
||||
transform: overlay.transform,
|
||||
gradient: overlay.gradient.clone(),
|
||||
dragging_start: true,
|
||||
})
|
||||
@@ -318,7 +318,7 @@ impl Fsm for GradientToolFsmState {
|
||||
start_snap(&mut data.snap_handler, document, document.graphene_document.layer(&overlay.path).unwrap(), &overlay.path);
|
||||
data.selected_gradient = Some(SelectedGradient {
|
||||
path: overlay.path.clone(),
|
||||
transform: overlay.transform.clone(),
|
||||
transform: overlay.transform,
|
||||
gradient: overlay.gradient.clone(),
|
||||
dragging_start: false,
|
||||
})
|
||||
|
||||
@@ -50,7 +50,7 @@ impl VectorAnchor {
|
||||
|
||||
// TODO Cleanup the internals of this function
|
||||
/// Move the selected points by the provided delta
|
||||
pub fn move_selected_points(&mut self, translation: DVec2, relative: bool, path_elements: &mut Vec<kurbo::PathEl>, transform: &DAffine2) {
|
||||
pub fn move_selected_points(&mut self, translation: DVec2, relative: bool, path_elements: &mut [kurbo::PathEl], transform: &DAffine2) {
|
||||
let place_mirrored_handle = |center: kurbo::Point, original: kurbo::Point, target: kurbo::Point, selected: bool, mirror_angle: bool, mirror_distance: bool| -> kurbo::Point {
|
||||
if !selected || !mirror_angle {
|
||||
return original;
|
||||
|
||||
Reference in New Issue
Block a user