mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-25 11:18:13 +08:00
Add viewing/editing layer names, add Blend Mode node, and clean up Layer node (#1489)
This commit is contained in:
@@ -1031,13 +1031,6 @@ impl Document {
|
||||
layer.visible = visible;
|
||||
Some([vec![DocumentChanged], update_thumbnails_upstream(&path)].concat())
|
||||
}
|
||||
Operation::SetLayerName { path, name } => {
|
||||
self.mark_as_dirty(&path)?;
|
||||
let layer = self.layer_mut(&path)?;
|
||||
layer.name = if name.as_str() == "" { None } else { Some(name) };
|
||||
|
||||
Some(vec![LayerChanged { path }])
|
||||
}
|
||||
Operation::SetLayerBlendMode { path, blend_mode } => {
|
||||
self.mark_as_dirty(&path)?;
|
||||
self.layer_mut(&path)?.blend_mode = blend_mode;
|
||||
|
||||
@@ -215,10 +215,12 @@ impl DocumentMetadata {
|
||||
}
|
||||
|
||||
fn first_child_layer<'a>(graph: &'a NodeNetwork, node: &DocumentNode) -> Option<(&'a DocumentNode, NodeId)> {
|
||||
graph.primary_flow_from_node(Some(node.inputs[0].as_node()?)).find(|(node, _)| node.name == "Layer")
|
||||
graph.primary_flow_from_node(Some(node.inputs[0].as_node()?)).find(|(node, _)| node.is_layer())
|
||||
}
|
||||
|
||||
fn sibling_below<'a>(graph: &'a NodeNetwork, node: &DocumentNode) -> Option<(&'a DocumentNode, NodeId)> {
|
||||
node.inputs[7].as_node().and_then(|id| graph.nodes.get(&id).filter(|node| node.name == "Layer").map(|node| (node, id)))
|
||||
let construct_layer_node = &node.inputs[1];
|
||||
construct_layer_node.as_node().and_then(|id| graph.nodes.get(&id).filter(|node| node.is_layer()).map(|node| (node, id)))
|
||||
}
|
||||
|
||||
// transforms
|
||||
@@ -265,7 +267,7 @@ pub fn is_folder(layer: LayerNodeIdentifier, network: &NodeNetwork) -> bool {
|
||||
|| network
|
||||
.primary_flow_from_node(Some(layer.to_node()))
|
||||
.skip(1)
|
||||
.any(|(node, _)| node.name == "Artboard" || node.name == "Layer")
|
||||
.any(|(node, _)| node.name == "Artboard" || node.is_layer())
|
||||
}
|
||||
|
||||
// click targets
|
||||
@@ -640,7 +642,7 @@ pub struct NodeRelations {
|
||||
}
|
||||
|
||||
fn is_layer_node(node: NodeId, network: &NodeNetwork) -> bool {
|
||||
node == LayerNodeIdentifier::ROOT.to_node() || network.nodes.get(&node).is_some_and(|node| node.name == "Layer")
|
||||
node == LayerNodeIdentifier::ROOT.to_node() || network.nodes.get(&node).is_some_and(|node| node.is_layer())
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@@ -107,10 +107,6 @@ pub enum Operation {
|
||||
path: Vec<LayerId>,
|
||||
visible: bool,
|
||||
},
|
||||
SetLayerName {
|
||||
path: Vec<LayerId>,
|
||||
name: String,
|
||||
},
|
||||
SetLayerPreserveAspect {
|
||||
layer_path: Vec<LayerId>,
|
||||
preserve_aspect: bool,
|
||||
|
||||
Reference in New Issue
Block a user