Skip to content

Commit 5f4bf75

Browse files
authored
Merge pull request #464 from Vrroom/svgParseFix
Fixing svg parsing
2 parents 8f63dc7 + fe58ce4 commit 5f4bf75

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

svg/src/lib.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ impl SVGScene {
9797
clip_outline: &mut Option<Outline>) {
9898
let mut state = (*state).clone();
9999
let node_transform = usvg_transform_to_transform_2d(&node.transform());
100-
state.transform = node_transform * state.transform;
101-
100+
state.transform = state.transform * node_transform;
102101
match *node.borrow() {
103102
NodeKind::Group(ref group) => {
104103
if group.filter.is_some() {
@@ -107,10 +106,10 @@ impl SVGScene {
107106
if group.mask.is_some() {
108107
self.result_flags.insert(BuildResultFlags::UNSUPPORTED_MASK_ATTR);
109108
}
110-
111109
if let Some(ref clip_path_name) = group.clip_path {
112110
if let Some(clip_outline) = self.clip_paths.get(clip_path_name) {
113-
let mut clip_path = ClipPath::new((*clip_outline).clone());
111+
let transformed_outline = clip_outline.clone().transformed(&state.transform);
112+
let mut clip_path = ClipPath::new(transformed_outline);
114113
clip_path.set_clip_path(state.clip_path);
115114
clip_path.set_name(format!("ClipPath({})", clip_path_name));
116115
let clip_path_id = self.scene.push_clip_path(clip_path);

0 commit comments

Comments
 (0)