From 171e97451b382ffa31fdfcb61a81950d6fae3004 Mon Sep 17 00:00:00 2001 From: Curtis Hard Date: Fri, 5 Jul 2019 13:27:18 +0100 Subject: [PATCH] Initial fixes for userSpaceOnUse --- .../IJSVGExample.xcodeproj/project.pbxproj | 55 ++++++++++++------ .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++ .../UserInterfaceState.xcuserstate | Bin 52907 -> 39323 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 1 + IJSVGExample/IJSVGExample/SVGView.m | 4 +- IJSVGExample/IJSVGExample/linecap.svg | 24 ++------ source/IJSVGLinearGradient.m | 9 ++- source/IJSVGParser.m | 21 +++---- source/IJSVGTransform.m | 1 + 9 files changed, 68 insertions(+), 55 deletions(-) create mode 100644 IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/IJSVGExample/IJSVGExample.xcodeproj/project.pbxproj b/IJSVGExample/IJSVGExample.xcodeproj/project.pbxproj index c8c51b6..81ffad2 100644 --- a/IJSVGExample/IJSVGExample.xcodeproj/project.pbxproj +++ b/IJSVGExample/IJSVGExample.xcodeproj/project.pbxproj @@ -51,11 +51,7 @@ 59A3DA6D1E283022003E59A9 /* IJSVGTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 59A3DA6C1E283022003E59A9 /* IJSVGTransaction.m */; }; 59B93C6D19B7D1840063E823 /* paperplane.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59B93C6C19B7D1840063E823 /* paperplane.svg */; }; 59B93C6F19B7D32C0063E823 /* products.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59B93C6E19B7D32C0063E823 /* products.svg */; }; - 59D1E39E2022577500C54672 /* IJSVGQuartzRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 59D1E39D2022577500C54672 /* IJSVGQuartzRenderer.m */; }; 59D1E3A0202279CA00C54672 /* Group.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59D1E39F202279CA00C54672 /* Group.svg */; }; - 59D6C4142049939800F16F13 /* move.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59D6C4132049939800F16F13 /* move.svg */; }; - 59D6C4162049947E00F16F13 /* sprite-1.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59D6C4152049947E00F16F13 /* sprite-1.svg */; }; - 59D6C4182049977E00F16F13 /* fa-brands.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59D6C4172049977E00F16F13 /* fa-brands.svg */; }; 59E0F5ED1E29964700F757F7 /* IJSVGUnitLength.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E0F5EC1E29964700F757F7 /* IJSVGUnitLength.m */; }; 59E2645119BA240D008A6FDB /* IJSVG.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E2641C19BA240D008A6FDB /* IJSVG.m */; }; 59E2645219BA240D008A6FDB /* IJSVGBezierPathAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E2641E19BA240D008A6FDB /* IJSVGBezierPathAdditions.m */; }; @@ -90,6 +86,13 @@ 59E8ABF31E2167D90032A80C /* IJSVGImageLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E8ABF21E2167D90032A80C /* IJSVGImageLayer.m */; }; 59E8ABF61E2176340032A80C /* IJSVGGroupLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E8ABF51E2176340032A80C /* IJSVGGroupLayer.m */; }; 59E8ABF91E219C860032A80C /* IJSVGMath.m in Sources */ = {isa = PBXBuildFile; fileRef = 59E8ABF81E219C860032A80C /* IJSVGMath.m */; }; + 59E9863322CF6F2300C717DD /* KORDEUTER-logo-white.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59E9863222CF6F2300C717DD /* KORDEUTER-logo-white.svg */; }; + 59EA311622CF395400DAB3B7 /* IJSVGStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 59EA310F22CF395400DAB3B7 /* IJSVGStringAdditions.m */; }; + 59EA311722CF395400DAB3B7 /* IJSVGRendering.m in Sources */ = {isa = PBXBuildFile; fileRef = 59EA311022CF395400DAB3B7 /* IJSVGRendering.m */; }; + 59EA311822CF395400DAB3B7 /* IJSVGImageRep.m in Sources */ = {isa = PBXBuildFile; fileRef = 59EA311322CF395400DAB3B7 /* IJSVGImageRep.m */; }; + 59EA311922CF395400DAB3B7 /* IJSVGView.m in Sources */ = {isa = PBXBuildFile; fileRef = 59EA311422CF395400DAB3B7 /* IJSVGView.m */; }; + 59EA311B22CF397A00DAB3B7 /* test2.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59EA311A22CF397A00DAB3B7 /* test2.svg */; }; + 59EA311D22CF437700DAB3B7 /* test 2.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59EA311C22CF437700DAB3B7 /* test 2.svg */; }; 59F799E219B880CE00096CB7 /* htc_one.svg in Resources */ = {isa = PBXBuildFile; fileRef = 59F799E119B880CE00096CB7 /* htc_one.svg */; }; /* End PBXBuildFile section */ @@ -178,12 +181,7 @@ 59A3DA6C1E283022003E59A9 /* IJSVGTransaction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGTransaction.m; sourceTree = ""; }; 59B93C6C19B7D1840063E823 /* paperplane.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = paperplane.svg; sourceTree = ""; }; 59B93C6E19B7D32C0063E823 /* products.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = products.svg; sourceTree = ""; }; - 59D1E39C2022577500C54672 /* IJSVGQuartzRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IJSVGQuartzRenderer.h; sourceTree = ""; }; - 59D1E39D2022577500C54672 /* IJSVGQuartzRenderer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IJSVGQuartzRenderer.m; sourceTree = ""; }; 59D1E39F202279CA00C54672 /* Group.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Group.svg; sourceTree = ""; }; - 59D6C4132049939800F16F13 /* move.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = move.svg; sourceTree = ""; }; - 59D6C4152049947E00F16F13 /* sprite-1.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "sprite-1.svg"; sourceTree = ""; }; - 59D6C4172049977E00F16F13 /* fa-brands.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "fa-brands.svg"; sourceTree = ""; }; 59E0F5EB1E29964700F757F7 /* IJSVGUnitLength.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGUnitLength.h; sourceTree = ""; }; 59E0F5EC1E29964700F757F7 /* IJSVGUnitLength.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGUnitLength.m; sourceTree = ""; }; 59E2641B19BA240D008A6FDB /* IJSVG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVG.h; sourceTree = ""; }; @@ -252,6 +250,17 @@ 59E8ABF51E2176340032A80C /* IJSVGGroupLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGGroupLayer.m; sourceTree = ""; }; 59E8ABF71E219C860032A80C /* IJSVGMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGMath.h; sourceTree = ""; }; 59E8ABF81E219C860032A80C /* IJSVGMath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGMath.m; sourceTree = ""; }; + 59E9863222CF6F2300C717DD /* KORDEUTER-logo-white.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = "KORDEUTER-logo-white.svg"; path = "../../../../../../../../Downloads/KORDEUTER-logo-white.svg"; sourceTree = ""; }; + 59EA310E22CF395300DAB3B7 /* IJSVGImageRep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGImageRep.h; sourceTree = ""; }; + 59EA310F22CF395400DAB3B7 /* IJSVGStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGStringAdditions.m; sourceTree = ""; }; + 59EA311022CF395400DAB3B7 /* IJSVGRendering.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGRendering.m; sourceTree = ""; }; + 59EA311122CF395400DAB3B7 /* IJSVGRendering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGRendering.h; sourceTree = ""; }; + 59EA311222CF395400DAB3B7 /* IJSVGView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGView.h; sourceTree = ""; }; + 59EA311322CF395400DAB3B7 /* IJSVGImageRep.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGImageRep.m; sourceTree = ""; }; + 59EA311422CF395400DAB3B7 /* IJSVGView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IJSVGView.m; sourceTree = ""; }; + 59EA311522CF395400DAB3B7 /* IJSVGStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IJSVGStringAdditions.h; sourceTree = ""; }; + 59EA311A22CF397A00DAB3B7 /* test2.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = test2.svg; path = ../../../../../../../../Downloads/test2.svg; sourceTree = ""; }; + 59EA311C22CF437700DAB3B7 /* test 2.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = "test 2.svg"; path = "../../../../../../../../Desktop/test 2.svg"; sourceTree = ""; }; 59F799E119B880CE00096CB7 /* htc_one.svg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = htc_one.svg; sourceTree = ""; }; /* End PBXFileReference section */ @@ -321,13 +330,14 @@ 5956657A19B62F4600D805FF /* Supporting Files */ = { isa = PBXGroup; children = ( - 59D6C4172049977E00F16F13 /* fa-brands.svg */, + 59E9863222CF6F2300C717DD /* KORDEUTER-logo-white.svg */, + 59EA311C22CF437700DAB3B7 /* test 2.svg */, + 59EA311A22CF397A00DAB3B7 /* test2.svg */, 59D1E39F202279CA00C54672 /* Group.svg */, 590C87F5201FD0D4004A1554 /* car.svg */, 590C87F3201FC9E3004A1554 /* radialgradient2.svg */, 590C87F0201FBF27004A1554 /* AJ_Digital_Camera.svg */, 590C87EC201FA08C004A1554 /* intertwingly.svg */, - 59D6C4152049947E00F16F13 /* sprite-1.svg */, 590C87EE201FA092004A1554 /* NewTux.svg */, 590C87EA201F9888004A1554 /* json.svg */, 5991A2AA201E310200913E3B /* heart.svg */, @@ -340,7 +350,6 @@ 595665DD19B6309C00D805FF /* test.svg */, 5986308619BA104800CF15EA /* linecap.svg */, 5986308B19BA180E00CF15EA /* dashed.svg */, - 59D6C4132049939800F16F13 /* move.svg */, 5956657B19B62F4600D805FF /* Info.plist */, 5956657C19B62F4600D805FF /* main.m */, 5956659A19B62F9500D805FF /* IJSVGExample-Prefix.pch */, @@ -377,6 +386,14 @@ 59E2641A19BA240D008A6FDB /* source */ = { isa = PBXGroup; children = ( + 59EA310E22CF395300DAB3B7 /* IJSVGImageRep.h */, + 59EA311322CF395400DAB3B7 /* IJSVGImageRep.m */, + 59EA311122CF395400DAB3B7 /* IJSVGRendering.h */, + 59EA311022CF395400DAB3B7 /* IJSVGRendering.m */, + 59EA311522CF395400DAB3B7 /* IJSVGStringAdditions.h */, + 59EA310F22CF395400DAB3B7 /* IJSVGStringAdditions.m */, + 59EA311222CF395400DAB3B7 /* IJSVGView.h */, + 59EA311422CF395400DAB3B7 /* IJSVGView.m */, 59A3DA6B1E283022003E59A9 /* IJSVGTransaction.h */, 59A3DA6C1E283022003E59A9 /* IJSVGTransaction.m */, 598759F41E242C850024CC3F /* IJSVGExporterPathInstruction.h */, @@ -478,8 +495,6 @@ 597046A11E24352700A60138 /* IJSVGStrokeLayer.m */, 59E0F5EB1E29964700F757F7 /* IJSVGUnitLength.h */, 59E0F5EC1E29964700F757F7 /* IJSVGUnitLength.m */, - 59D1E39C2022577500C54672 /* IJSVGQuartzRenderer.h */, - 59D1E39D2022577500C54672 /* IJSVGQuartzRenderer.m */, ); name = source; path = ../../source; @@ -546,6 +561,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -567,12 +583,12 @@ files = ( 59B93C6D19B7D1840063E823 /* paperplane.svg in Resources */, 5956658219B62F4600D805FF /* Images.xcassets in Resources */, + 59EA311B22CF397A00DAB3B7 /* test2.svg in Resources */, 590C87ED201FA08C004A1554 /* intertwingly.svg in Resources */, - 59D6C4182049977E00F16F13 /* fa-brands.svg in Resources */, 590C87F1201FBF27004A1554 /* AJ_Digital_Camera.svg in Resources */, 590C87EF201FA093004A1554 /* NewTux.svg in Resources */, - 59D6C4162049947E00F16F13 /* sprite-1.svg in Resources */, 59265CE81C4F840400F333F0 /* css.svg in Resources */, + 59E9863322CF6F2300C717DD /* KORDEUTER-logo-white.svg in Resources */, 595665DE19B6309C00D805FF /* test.svg in Resources */, 590C87EB201F9888004A1554 /* json.svg in Resources */, 59D1E3A0202279CA00C54672 /* Group.svg in Resources */, @@ -582,9 +598,9 @@ 5986308719BA104800CF15EA /* linecap.svg in Resources */, 5956658519B62F4600D805FF /* MainMenu.xib in Resources */, 590C87F4201FC9E4004A1554 /* radialgradient2.svg in Resources */, + 59EA311D22CF437700DAB3B7 /* test 2.svg in Resources */, 59459CEC19B906FE00CE493B /* clipped.svg in Resources */, 590C87F6201FD0D4004A1554 /* car.svg in Resources */, - 59D6C4142049939800F16F13 /* move.svg in Resources */, 5991A2AB201E310200913E3B /* heart.svg in Resources */, 5986308C19BA180E00CF15EA /* dashed.svg in Resources */, ); @@ -608,7 +624,7 @@ 59E2646919BA240D008A6FDB /* IJSVGStyle.m in Sources */, 59E2646419BA240D008A6FDB /* IJSVGLinearGradient.m in Sources */, 595665DC19B6302600D805FF /* README.md in Sources */, - 59D1E39E2022577500C54672 /* IJSVGQuartzRenderer.m in Sources */, + 59EA311922CF395400DAB3B7 /* IJSVGView.m in Sources */, 5941DAFD1CF9BC9B00B3A911 /* IJSVGImage.m in Sources */, 599465DE1C4AA87200A2EEF3 /* IJSVGStyleSheetSelector.m in Sources */, 5948DED61BB2BFE5004156FF /* IJSVGWriter.m in Sources */, @@ -637,6 +653,7 @@ 5956658019B62F4600D805FF /* AppDelegate.m in Sources */, 59E2646519BA240D008A6FDB /* IJSVGNode.m in Sources */, 591A13E11E19838F001D1629 /* IJSVGText.m in Sources */, + 59EA311822CF395400DAB3B7 /* IJSVGImageRep.m in Sources */, 59A11E6C19B89CEA00E44498 /* SVGExampleView1.m in Sources */, 59A3DA6D1E283022003E59A9 /* IJSVGTransaction.m in Sources */, 59E2646A19BA240D008A6FDB /* IJSVGTransform.m in Sources */, @@ -648,6 +665,7 @@ 598759F61E242C850024CC3F /* IJSVGExporterPathInstruction.m in Sources */, 59E2645E19BA240D008A6FDB /* IJSVGCommandSmoothCurve.m in Sources */, 59E2645819BA240D008A6FDB /* IJSVGCommandCommandSmoothQuadraticCurve.m in Sources */, + 59EA311622CF395400DAB3B7 /* IJSVGStringAdditions.m in Sources */, 59E2645D19BA240D008A6FDB /* IJSVGCommandQuadraticCurve.m in Sources */, 59E2646719BA240D008A6FDB /* IJSVGPath.m in Sources */, 59E8ABED1E211EBE0032A80C /* IJSVGLayer.m in Sources */, @@ -656,6 +674,7 @@ 59A11E7219B89D6600E44498 /* SVGExampleView3.m in Sources */, 59E0F5ED1E29964700F757F7 /* IJSVGUnitLength.m in Sources */, 5956657D19B62F4600D805FF /* main.m in Sources */, + 59EA311722CF395400DAB3B7 /* IJSVGRendering.m in Sources */, 59A11E6F19B89D2000E44498 /* SVGExampleView2.m in Sources */, 5948DED51BB2BFE5004156FF /* IJSVGFontConverter.m in Sources */, 59E2646319BA240D008A6FDB /* IJSVGGroup.m in Sources */, diff --git a/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate index fc6bfa7cc086eabaec8ff23c1023888695d502ca..773694cef246a32b3fcb5225ac49025c22c1726e 100644 GIT binary patch literal 39323 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 diff --git a/IJSVGExample/IJSVGExample/SVGView.m b/IJSVGExample/IJSVGExample/SVGView.m index c513faa..37b5384 100644 --- a/IJSVGExample/IJSVGExample/SVGView.m +++ b/IJSVGExample/IJSVGExample/SVGView.m @@ -22,7 +22,7 @@ if( ( self = [super initWithFrame:frameRect] ) != nil ) { svg = [self svg]; - svg.renderQuality = IJSVGRenderQualityLow; + svg.renderQuality = IJSVGRenderQualityFullResolution; svg.renderingBackingScaleHelper = ^{ return self.window.backingScaleFactor; }; @@ -32,7 +32,7 @@ - (IJSVG *)svg { - return [IJSVG svgNamed:@"car"]; + return [IJSVG svgNamed:@"test 2"]; } - (void)drawRect:(NSRect)dirtyRect diff --git a/IJSVGExample/IJSVGExample/linecap.svg b/IJSVGExample/IJSVGExample/linecap.svg index d4d7105..5cc41af 100644 --- a/IJSVGExample/IJSVGExample/linecap.svg +++ b/IJSVGExample/IJSVGExample/linecap.svg @@ -1,20 +1,6 @@ - - + + - - - - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/source/IJSVGLinearGradient.m b/source/IJSVGLinearGradient.m index 7f35c37..4844e06 100644 --- a/source/IJSVGLinearGradient.m +++ b/source/IJSVGLinearGradient.m @@ -22,10 +22,13 @@ // work out each coord, and work out if its a % or not // annoyingly we need to check them all against each other -_- + // also this will only account if this is objectBoundingBox BOOL isPercent = NO; - if((px1 >= 0.f && px1 <= 1.f) && (px2 >= 0.f && px2 <= 1.f) && - (py1 >= 0.f && py1 <= 1.f) && (py2 >= 0.f && py2 <= 1.f)) { - isPercent = YES; + if(aGradient.units == IJSVGUnitObjectBoundingBox) { + if((px1 >= 0.f && px1 <= 1.f) && (px2 >= 0.f && px2 <= 1.f) && + (py1 >= 0.f && py1 <= 1.f) && (py2 >= 0.f && py2 <= 1.f)) { + isPercent = YES; + } } // assume its a vertical / horizonal diff --git a/source/IJSVGParser.m b/source/IJSVGParser.m index bc94196..c2cc032 100644 --- a/source/IJSVGParser.m +++ b/source/IJSVGParser.m @@ -947,26 +947,24 @@ IJSVGLinearGradient * grad = [[[IJSVGLinearGradient alloc] init] autorelease]; grad.type = aType; - grad.gradient = [IJSVGLinearGradient parseGradient:elementCopy - gradient:grad]; - [self _setupDefaultsForNode:grad]; [self _parseElementForCommonAttributes:elementCopy node:grad ignoreAttributes:nil]; + grad.gradient = [IJSVGLinearGradient parseGradient:elementCopy + gradient:grad]; [parentGroup addDef:grad]; break; } IJSVGLinearGradient * gradient = [[[IJSVGLinearGradient alloc] init] autorelease]; gradient.type = aType; - gradient.gradient = [IJSVGLinearGradient parseGradient:element - gradient:gradient]; - [self _setupDefaultsForNode:gradient]; [self _parseElementForCommonAttributes:element node:gradient ignoreAttributes:nil]; + gradient.gradient = [IJSVGLinearGradient parseGradient:element + gradient:gradient]; [parentGroup addDef:gradient]; break; } @@ -986,27 +984,24 @@ NSXMLElement * elementCopy = [self mergedElement:element withReferenceElement:referenceElement]; - - grad.gradient = [IJSVGRadialGradient parseGradient:elementCopy - gradient:grad]; - [self _setupDefaultsForNode:grad]; [self _parseElementForCommonAttributes:elementCopy node:grad ignoreAttributes:nil]; + grad.gradient = [IJSVGRadialGradient parseGradient:elementCopy + gradient:grad]; [parentGroup addDef:grad]; break; } IJSVGRadialGradient * gradient = [[[IJSVGRadialGradient alloc] init] autorelease]; gradient.type = aType; - gradient.gradient = [IJSVGRadialGradient parseGradient:element - gradient:gradient]; - [self _setupDefaultsForNode:gradient]; [self _parseElementForCommonAttributes:element node:gradient ignoreAttributes:nil]; + gradient.gradient = [IJSVGRadialGradient parseGradient:element + gradient:gradient]; [parentGroup addDef:gradient]; break; } diff --git a/source/IJSVGTransform.m b/source/IJSVGTransform.m index beba492..d637942 100644 --- a/source/IJSVGTransform.m +++ b/source/IJSVGTransform.m @@ -155,6 +155,7 @@ void IJSVGApplyTransform(NSArray * transforms, IJSVGTransform return; } + // create the transform NSString * params = [string substringWithRange:[result rangeAtIndex:2]]; IJSVGTransform * transform = [[[self.class alloc] init] autorelease];