Allow clip paths to nest in the canvas API.

Closes #372.
This commit is contained in:
Patrick Walton 2020-07-28 14:27:53 -07:00
parent 4c8699a5e2
commit c8a6d8e1f7
1 changed files with 4 additions and 1 deletions

View File

@ -358,8 +358,11 @@ impl CanvasRenderingContext2D {
let mut clip_path = ClipPath::new(outline); let mut clip_path = ClipPath::new(outline);
clip_path.set_fill_rule(fill_rule); clip_path.set_fill_rule(fill_rule);
let clip_path_id = self.canvas.scene.push_clip_path(clip_path); if let Some(existing_clip_path) = self.current_state.clip_path.take() {
clip_path.set_clip_path(Some(existing_clip_path));
}
let clip_path_id = self.canvas.scene.push_clip_path(clip_path);
self.current_state.clip_path = Some(clip_path_id); self.current_state.clip_path = Some(clip_path_id);
} }