Skip to content

Commit 24f1b1c

Browse files
committed
pass mask group into ApplyMaskStencil as rasterization groundwork
1 parent 74c2bb4 commit 24f1b1c

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1189,10 +1189,11 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
11891189
}
11901190
} else {
11911191
// Apply the mask group to the target layers
1192-
if self.mask_group_id.is_some() {
1192+
if let Some(mask_group_id) = self.mask_group_id {
11931193
responses.add(DocumentMessage::AddTransaction);
11941194
responses.add(GraphOperationMessage::ApplyMaskStencil {
11951195
layers: self.mask_target_layers.clone(),
1196+
mask_group: LayerNodeIdentifier::new_unchecked(mask_group_id),
11961197
});
11971198
responses.add(DocumentMessage::EndTransaction);
11981199
}

editor/src/messages/portfolio/document/graph_operation/graph_operation_message.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,5 +128,6 @@ pub enum GraphOperationMessage {
128128
},
129129
ApplyMaskStencil {
130130
layers: Vec<LayerNodeIdentifier>,
131+
mask_group: LayerNodeIdentifier,
131132
},
132133
}

editor/src/messages/portfolio/document/graph_operation/graph_operation_message_handler.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,10 @@ impl MessageHandler<GraphOperationMessage, GraphOperationMessageContext<'_>> for
439439
// (skipped automatically when identity, so file-open with content at origin creates no Transform node).
440440
modify_inputs.transform_set(placement_transform, TransformIn::Local, false);
441441
}
442-
GraphOperationMessage::ApplyMaskStencil { layers } => {
442+
GraphOperationMessage::ApplyMaskStencil { layers, mask_group } => {
443+
let _ = mask_group;
444+
445+
// TODO: Rasterize `mask_group` into a stencil image and apply that stencil to each target layer.
443446
// For each target layer, toggle clip mode so the existing clip infrastructure is engaged.
444447
for layer in layers {
445448
responses.add(GraphOperationMessage::ClipModeToggle { layer });

0 commit comments

Comments
 (0)