mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-01 14:48:12 +08:00
Fix 'Shallow Select' mode behavior for selection context transference (#2604)
* Fix ancestor always returning None during shallow select * Fixes * fix shift remove on both * cleanup * one more cleanup * final(?) fix * some cleanup * more stuff * make shallow the default * fixes * fix * fix * fix * Code review --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
co-authored by
Keavon Chambers
parent
23b2c5bdf2
commit
90be1f42c6
@@ -310,13 +310,10 @@ impl OverlayContext {
|
||||
}
|
||||
|
||||
pub fn draw_angle(&mut self, pivot: DVec2, radius: f64, arc_radius: f64, offset_angle: f64, angle: f64) {
|
||||
let color_line = COLOR_OVERLAY_BLUE;
|
||||
|
||||
let end_point1 = pivot + radius * DVec2::from_angle(angle + offset_angle);
|
||||
let end_point2 = pivot + radius * DVec2::from_angle(offset_angle);
|
||||
self.line(pivot, end_point1, Some(color_line), None);
|
||||
self.line(pivot, end_point2, Some(color_line), None);
|
||||
|
||||
self.line(pivot, end_point1, None, None);
|
||||
self.dashed_line(pivot, end_point2, None, None, Some(2.), Some(2.), Some(0.5));
|
||||
self.draw_arc(pivot, arc_radius, offset_angle, (angle) % TAU + offset_angle);
|
||||
}
|
||||
|
||||
|
||||
@@ -261,11 +261,21 @@ impl LayerNodeIdentifier {
|
||||
metadata.get_relations(self).and_then(|relations| relations.last_child)
|
||||
}
|
||||
|
||||
/// Does the layer have children? If so, then it is a folder
|
||||
/// Does the layer have children? If so, then it is a folder.
|
||||
pub fn has_children(self, metadata: &DocumentMetadata) -> bool {
|
||||
self.first_child(metadata).is_some()
|
||||
}
|
||||
|
||||
/// Is the layer a child of the given layer?
|
||||
pub fn is_child_of(self, metadata: &DocumentMetadata, parent: &LayerNodeIdentifier) -> bool {
|
||||
parent.children(metadata).any(|child| child == self)
|
||||
}
|
||||
|
||||
/// Is the layer an ancestor of the given layer?
|
||||
pub fn is_ancestor_of(self, metadata: &DocumentMetadata, child: &LayerNodeIdentifier) -> bool {
|
||||
child.ancestors(metadata).any(|ancestor| ancestor == self)
|
||||
}
|
||||
|
||||
/// Iterator over all direct children (excluding self and recursive children)
|
||||
pub fn children(self, metadata: &DocumentMetadata) -> AxisIter {
|
||||
AxisIter {
|
||||
|
||||
Reference in New Issue
Block a user