File tree Expand file tree Collapse file tree 1 file changed +3
-4
lines changed Expand file tree Collapse file tree 1 file changed +3
-4
lines changed Original file line number Diff line number Diff line change @@ -97,8 +97,7 @@ impl SVGScene {
97
97
clip_outline : & mut Option < Outline > ) {
98
98
let mut state = ( * state) . clone ( ) ;
99
99
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;
102
101
match * node. borrow ( ) {
103
102
NodeKind :: Group ( ref group) => {
104
103
if group. filter . is_some ( ) {
@@ -107,10 +106,10 @@ impl SVGScene {
107
106
if group. mask . is_some ( ) {
108
107
self . result_flags . insert ( BuildResultFlags :: UNSUPPORTED_MASK_ATTR ) ;
109
108
}
110
-
111
109
if let Some ( ref clip_path_name) = group. clip_path {
112
110
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) ;
114
113
clip_path. set_clip_path ( state. clip_path ) ;
115
114
clip_path. set_name ( format ! ( "ClipPath({})" , clip_path_name) ) ;
116
115
let clip_path_id = self . scene . push_clip_path ( clip_path) ;
You can’t perform that action at this time.
0 commit comments