diff --git a/Framework/IJSVG/IJSVG/Source/Colors/IJSVGColorType.h b/Framework/IJSVG/IJSVG/Source/Colors/IJSVGColorType.h index abfea22..eae0ccd 100644 --- a/Framework/IJSVG/IJSVG/Source/Colors/IJSVGColorType.h +++ b/Framework/IJSVG/IJSVG/Source/Colors/IJSVGColorType.h @@ -21,7 +21,7 @@ typedef NS_OPTIONS(NSInteger, IJSVGColorTypeFlags) { } -@property (nonatomic, retain) NSColor* color; +@property (nonatomic, strong) NSColor* color; @property (nonatomic, assign) IJSVGColorTypeFlags flags; + (IJSVGColorType*)typeWithColor:(NSColor*)color diff --git a/Framework/IJSVG/IJSVG/Source/Commands/IJSVGCommand.h b/Framework/IJSVG/IJSVG/Source/Commands/IJSVGCommand.h index 5e28dfd..f308518 100644 --- a/Framework/IJSVG/IJSVG/Source/Commands/IJSVGCommand.h +++ b/Framework/IJSVG/IJSVG/Source/Commands/IJSVGCommand.h @@ -26,7 +26,7 @@ typedef NS_ENUM(NSInteger, IJSVGCommandType) { @property (nonatomic, assign) CGFloat* parameters; @property (nonatomic, assign) NSInteger parameterCount; @property (nonatomic, assign) IJSVGCommandType type; -@property (nonatomic, retain) NSArray* subCommands; +@property (nonatomic, strong) NSArray* subCommands; @property (nonatomic, assign) IJSVGCommand* previousCommand; @property (nonatomic, assign) BOOL isSubCommand; diff --git a/Framework/IJSVG/IJSVG/Source/Core/IJSVG.m b/Framework/IJSVG/IJSVG/Source/Core/IJSVG.m index 8c04571..604b0a1 100644 --- a/Framework/IJSVG/IJSVG/Source/Core/IJSVG.m +++ b/Framework/IJSVG/IJSVG/Source/Core/IJSVG.m @@ -657,7 +657,9 @@ - (void)drawInRect:(NSRect)rect context:(CGContextRef)context { - [self _drawInRect:rect context:context error:nil]; + [self _drawInRect:rect + context:context + error:nil]; } //- (BOOL)_drawInRect:(NSRect)rect @@ -732,20 +734,36 @@ //} - (BOOL)_drawInRect:(NSRect)rect - context:(CGContextRef)ref + context:(CGContextRef)ctx error:(NSError**)error { BOOL transaction = IJSVGBeginTransaction(); - CGContextSaveGState(ref); + CGContextSaveGState(ctx); // make sure we setup a transaction CGFloat backingScale = [self backingScaleFactor]; // [IJSVGLayer logLayer:self.rootLayer]; - [self.rootLayer renderInContext:ref - viewPort:rect - backingScale:backingScale - quality:_renderQuality]; - CGContextRestoreGState(ref); - if(transaction) { + CGInterpolationQuality quality; + switch (_renderQuality) { + case kIJSVGRenderQualityLow: { + quality = kCGInterpolationLow; + break; + } + case kIJSVGRenderQualityOptimized: { + quality = kCGInterpolationMedium; + break; + } + default: { + quality = kCGInterpolationHigh; + } + } + CGContextSetInterpolationQuality(ctx, quality); + IJSVGRootLayer* rootLayer = self.rootLayer; + [rootLayer renderInContext:ctx + viewPort:rect + backingScale:backingScale + quality:_renderQuality]; + CGContextRestoreGState(ctx); + if(transaction == YES) { IJSVGEndTransaction(); } return YES; diff --git a/Framework/IJSVG/IJSVG/Source/Core/IJSVGView.h b/Framework/IJSVG/IJSVG/Source/Core/IJSVGView.h index c9cd8de..34c4bd4 100644 --- a/Framework/IJSVG/IJSVG/Source/Core/IJSVGView.h +++ b/Framework/IJSVG/IJSVG/Source/Core/IJSVGView.h @@ -17,7 +17,7 @@ IB_DESIGNABLE IJSVG* SVG; } -@property (nonatomic, retain) IJSVG* SVG; +@property (nonatomic, strong) IJSVG* SVG; + (IJSVGView*)viewWithSVGNamed:(NSString*)name; - (id)initWithSVG:(IJSVG*)anSvg; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGBasicLayer.m b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGBasicLayer.m index fc14005..f1728c3 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGBasicLayer.m +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGBasicLayer.m @@ -15,6 +15,11 @@ @synthesize renderQuality; @synthesize debugLayers; +- (id)actionForKey:(NSString*)event +{ + return nil; +} + - (void)performRenderInContext:(CGContextRef)ctx { } diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGFilterLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGFilterLayer.h index 6e81fb1..e4aa15d 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGFilterLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGFilterLayer.h @@ -18,6 +18,6 @@ } -@property (nonatomic, retain) CALayer* sublayer; +@property (nonatomic, strong) CALayer* sublayer; @end diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGradientLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGradientLayer.h index 27fdff4..14d60b2 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGradientLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGradientLayer.h @@ -14,7 +14,7 @@ @interface IJSVGGradientLayer : IJSVGLayer { } -@property (nonatomic, retain) IJSVGGradient* gradient; +@property (nonatomic, strong) IJSVGGradient* gradient; @property (nonatomic, assign) CGRect viewBox; @end diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGroupLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGroupLayer.h index 0877b34..ed3cf32 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGroupLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGGroupLayer.h @@ -14,7 +14,7 @@ } -@property (nonatomic, retain) IJSVGUnitRect* viewBox; +@property (nonatomic, strong) IJSVGUnitRect* viewBox; @property (nonatomic, assign) IJSVGViewBoxAlignment viewBoxAlignment; @property (nonatomic, assign) IJSVGViewBoxMeetOrSlice viewBoxMeetOrSlice; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGImageLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGImageLayer.h index 884ab43..b311d69 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGImageLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGImageLayer.h @@ -19,7 +19,7 @@ CALayer* _imageLayer; } -@property (nonatomic, retain) IJSVGImage* image; +@property (nonatomic, strong) IJSVGImage* image; - (id)initWithImage:(IJSVGImage*)image; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.h index a16ad6a..a41fa2d 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.h @@ -37,6 +37,7 @@ typedef NS_OPTIONS(NSUInteger, IJSVGLayerTraits) { @end @protocol IJSVGBasicLayer + @required @property (nonatomic, assign) CGFloat backingScaleFactor; @property (nonatomic, readonly) BOOL requiresBackingScale; @@ -49,21 +50,19 @@ typedef NS_OPTIONS(NSUInteger, IJSVGLayerTraits) { @required @property (nonatomic, assign) CGBlendMode blendingMode; -@property (nonatomic, retain) CALayer* clipLayer; -@property (nonatomic, retain) CALayer* maskLayer; +@property (nonatomic, strong) CALayer* clipLayer; +@property (nonatomic, strong) CALayer* maskLayer; @property (nonatomic, copy) CAShapeLayerFillRule clipRule; @property (nonatomic, copy) CAShapeLayerFillRule fillRule; @property (nonatomic, readonly) CGPoint absoluteOrigin; @property (nonatomic, readonly) BOOL requiresBackingScale; -@property (nonatomic, readonly) CALayer* rootLayer; @property (nonatomic, readonly) CGRect absoluteFrame; @property (nonatomic, assign) CGRect boundingBox; -@property (nonatomic, readonly) CGRect strokeBoundingBox; @property (nonatomic, readonly) CGRect boundingBoxBounds; @property (nonatomic, assign) CGRect outerBoundingBox; @property (nonatomic, readonly) CGRect innerBoundingBox; @property (nonatomic, assign) CALayer* referencingLayer; -@property (nonatomic, retain) IJSVGFilter* filter; +@property (nonatomic, strong) IJSVGFilter* filter; - (void)performRenderInContext:(CGContextRef)ctx; @@ -85,17 +84,14 @@ typedef NS_OPTIONS(NSUInteger, IJSVGLayerTraits) { @property (nonatomic, assign) IJSVGRenderQuality renderQuality; @property (nonatomic, assign) CGBlendMode blendingMode; @property (nonatomic, assign) CGPoint absoluteOrigin; -@property (nonatomic, assign) BOOL convertMasksToPaths; -@property (nonatomic, retain) CALayer* clipLayer; +@property (nonatomic, strong) CALayer* clipLayer; @property (nonatomic, copy) CAShapeLayerFillRule clipRule; @property (nonatomic, copy) CAShapeLayerFillRule fillRule; -@property (nonatomic, retain) CALayer* maskLayer; -@property (nonatomic, retain) IJSVGFilter* filter; -@property (nonatomic, readonly) CALayer* rootLayer; +@property (nonatomic, strong) CALayer* maskLayer; +@property (nonatomic, strong) IJSVGFilter* filter; @property (nonatomic, readonly) CGRect absoluteFrame; @property (nonatomic, assign) CGRect boundingBox; @property (nonatomic, readonly) CGRect boundingBoxBounds; -@property (nonatomic, readonly) CGRect strokeBoundingBox; @property (nonatomic, assign) CGRect outerBoundingBox; @property (nonatomic, readonly) CGRect innerBoundingBox; @property (nonatomic, assign) CALayer* referencingLayer; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.m b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.m index 1fe7497..4d084a3 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.m +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGLayer.m @@ -24,6 +24,11 @@ return self; } +- (id)actionForKey:(NSString*)event +{ + return nil; +} + - (CAShapeLayerFillRule)fillRule { return kCAFillRuleNonZero; @@ -388,21 +393,6 @@ [super renderInContext:ctx]; } -- (void)setConvertMasksToPaths:(BOOL)flag -{ - if (_convertMasksToPaths == flag) { - return; - } - _convertMasksToPaths = flag; - if (flag == YES) { - _maskingLayer = (IJSVGLayer*)self.mask; - self.mask = nil; - } else { - self.mask = _maskingLayer; - _maskingLayer = nil; - } -} - - (void)applySublayerMaskToContext:(CGContextRef)context forSublayer:(IJSVGLayer*)sublayer withOffset:(CGPoint)offset @@ -443,11 +433,6 @@ CGContextConcatCTM(context, sublayerTransform); } -- (CALayer*)rootLayer -{ - return [self.class rootLayerForLayer:self]; -} - - (CGAffineTransform)absoluteTransform { return [IJSVGLayer absoluteTransformForLayer:self]; @@ -469,11 +454,6 @@ inContext:ctx]; } -- (id)actionForKey:(NSString*)event -{ - return nil; -} - - (CGRect)absoluteFrame { return [self.class absoluteFrameForLayer:self]; @@ -505,11 +485,6 @@ }; } -- (CGRect)strokeBoundingBox -{ - return self.boundingBox; -} - - (CALayer *)referencingLayer { return _referencingLayer ?: self.superlayer; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGPatternLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGPatternLayer.h index 1f3a0ed..9e7f038 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGPatternLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGPatternLayer.h @@ -12,7 +12,7 @@ @interface IJSVGPatternLayer : IJSVGLayer -@property (nonatomic, retain) CALayer* pattern; -@property (nonatomic, retain) IJSVGPattern* patternNode; +@property (nonatomic, strong) CALayer* pattern; +@property (nonatomic, strong) IJSVGPattern* patternNode; @end diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.h index 6d46200..888c3ed 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.h @@ -27,20 +27,16 @@ @property (nonatomic, assign) CGBlendMode blendingMode; @property (nonatomic, assign) CGPoint absoluteOrigin; @property (nonatomic, assign) CGPoint originalPathOrigin; -@property (nonatomic, assign) BOOL convertMasksToPaths; @property (nonatomic, assign) IJSVGPrimitivePathType primitiveType; -@property (nonatomic, readonly) CGRect computedFrame; -@property (nonatomic, retain) CALayer* clipLayer; -@property (nonatomic, retain) CALayer* maskLayer; -@property (nonatomic, readonly) CALayer* rootLayer; +@property (nonatomic, strong) CALayer* clipLayer; +@property (nonatomic, strong) CALayer* maskLayer; @property (nonatomic, readonly) CGRect absoluteFrame; @property (nonatomic, assign) CGRect boundingBox; @property (nonatomic, assign) CGRect outerBoundingBox; @property (nonatomic, readonly) CGRect innerBoundingBox; @property (nonatomic, readonly) CGRect boundingBoxBounds; -@property (nonatomic, retain) IJSVGFilter* filter; +@property (nonatomic, strong) IJSVGFilter* filter; @property (nonatomic, assign) CALayer* referencingLayer; -@property (nonatomic, assign) CGRect strokeBoundingBox; @property (nonatomic, copy) CAShapeLayerFillRule clipRule; - (void)applySublayerMaskToContext:(CGContextRef)context diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.m b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.m index 4758d04..89a3f00 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.m +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGShapeLayer.m @@ -11,9 +11,9 @@ @implementation IJSVGShapeLayer -- (CALayer *)rootLayer +- (id)actionForKey:(NSString*)event { - return [IJSVGLayer rootLayerForLayer:self]; + return nil; } - (CGRect)absoluteFrame @@ -80,21 +80,6 @@ [super renderInContext:ctx]; } -- (void)setConvertMasksToPaths:(BOOL)flag -{ - if (_convertMasksToPaths == flag) { - return; - } - _convertMasksToPaths = flag; - if (flag == YES) { - _maskingLayer = (IJSVGLayer*)self.mask; - self.mask = nil; - } else { - self.mask = _maskingLayer; - _maskingLayer = nil; - } -} - - (void)applySublayerMaskToContext:(CGContextRef)context forSublayer:(IJSVGLayer*)sublayer withOffset:(CGPoint)offset @@ -146,11 +131,6 @@ inContext:ctx]; } -- (id)actionForKey:(NSString*)event -{ - return nil; -} - -(NSArray*>*)debugLayers { return self.sublayers; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.h b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.h index 672eddb..d11fa1d 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.h +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.h @@ -12,9 +12,8 @@ @interface IJSVGTransformLayer : CATransformLayer @property (nonatomic, assign) CGBlendMode blendingMode; -@property (nonatomic, retain) CALayer* clipLayer; +@property (nonatomic, strong) CALayer* clipLayer; @property (nonatomic, readonly) CGPoint absoluteOrigin; -@property (nonatomic, readonly) CGRect computedFrame; @property (nonatomic, readonly) CALayer* referencedLayer; @property (nonatomic, assign) CALayer* referencingLayer; diff --git a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.m b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.m index c66136b..ecc840c 100644 --- a/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.m +++ b/Framework/IJSVG/IJSVG/Source/Layers/IJSVGTransformLayer.m @@ -19,11 +19,15 @@ @synthesize absoluteFrame; @synthesize boundingBox; @synthesize boundingBoxBounds; -@synthesize strokeBoundingBox; @synthesize outerBoundingBox; @synthesize filter = _filter; @synthesize innerBoundingBox; +- (id)actionForKey:(NSString*)event +{ + return nil; +} + - (CALayer *)referencedLayer { return self.sublayers.firstObject; @@ -33,11 +37,6 @@ return _referencingLayer ?: self.superlayer; } -- (CALayer*)rootLayer -{ - return [IJSVGLayer rootLayerForLayer:self]; -} - - (void)renderInContext:(CGContextRef)ctx { [IJSVGLayer renderLayer:self diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGFilterEffect.h b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGFilterEffect.h index 1d2f1d6..99be8ac 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGFilterEffect.h +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGFilterEffect.h @@ -27,7 +27,7 @@ typedef NS_ENUM(NSInteger, IJSVGFilterEffectEdgeMode) { @interface IJSVGFilterEffect : IJSVGGroup @property (nonatomic, assign) IJSVGFilterEffectSource source; -@property (nonatomic, retain) IJSVGUnitLength* stdDeviation; +@property (nonatomic, strong) IJSVGUnitLength* stdDeviation; @property (nonatomic, assign) IJSVGFilterEffectEdgeMode edgeMode; @property (nonatomic, copy) NSString* primitiveReference; diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGGradient.h b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGGradient.h index b94c47b..29a0cb3 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGGradient.h +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGGradient.h @@ -14,13 +14,13 @@ @interface IJSVGGradient : IJSVGGroup -@property (nonatomic, retain) NSGradient* gradient; +@property (nonatomic, strong) NSGradient* gradient; @property (nonatomic, assign) CGGradientRef CGGradient; -@property (nonatomic, retain) IJSVGUnitLength* x1; -@property (nonatomic, retain) IJSVGUnitLength* x2; -@property (nonatomic, retain) IJSVGUnitLength* y1; -@property (nonatomic, retain) IJSVGUnitLength* y2; -@property (nonatomic, retain) IJSVGColorList* colorList; +@property (nonatomic, strong) IJSVGUnitLength* x1; +@property (nonatomic, strong) IJSVGUnitLength* x2; +@property (nonatomic, strong) IJSVGUnitLength* y1; +@property (nonatomic, strong) IJSVGUnitLength* y2; +@property (nonatomic, strong) IJSVGColorList* colorList; + (CGFloat*)computeColorStops:(IJSVGGradient*)gradient colors:(NSArray**)someColors; diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.h b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.h index 32c8dae..32cf27d 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.h +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.h @@ -17,8 +17,7 @@ @property (nonatomic, readonly) CGSize intrinsicSize; @property (nonatomic, readonly) CGRect intrinsicBounds; -@property (nonatomic, readonly) CGAffineTransform intrinsicTransform; -@property (nonatomic, retain) NSImage* image; +@property (nonatomic, strong) NSImage* image; - (CGImageRef)CGImage; - (void)loadFromString:(NSString*)encodedString; diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.m b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.m index fd8df05..b23674e 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.m +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGImage.m @@ -55,7 +55,9 @@ CGImage = nil; } - NSRect rect = NSMakeRect(0.f, 0.f, _intrinsicSize.width, _intrinsicSize.height); + CGRect rect = CGRectMake(0.f, 0.f, + _intrinsicSize.width, + _intrinsicSize.height); CGImage = [_image CGImageForProposedRect:&rect context:nil hints:nil]; @@ -76,13 +78,6 @@ return rect; } -- (CGAffineTransform)intrinsicTransform -{ - CGFloat widthRatio = self.width.value / _intrinsicSize.width; - CGFloat heightRatio = self.height.value / _intrinsicSize.height; - return CGAffineTransformMakeScale(widthRatio, heightRatio); -} - - (CGRect)bounds { return CGRectMake(0.f, 0.f, diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGNode.h b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGNode.h index 6403a7c..fc57b09 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGNode.h +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGNode.h @@ -125,7 +125,7 @@ void IJSVGAssertPaintableObject(id object); @property (nonatomic, assign) IJSVGNodeTraits traits; @property (nonatomic, assign, readonly) CGRect bounds; -@property (nonatomic, retain) IJSVGUnitRect* viewBox; +@property (nonatomic, strong) IJSVGUnitRect* viewBox; @property (nonatomic, assign) IJSVGViewBoxAlignment viewBoxAlignment; @property (nonatomic, assign) IJSVGViewBoxMeetOrSlice viewBoxMeetOrSlice; @property (nonatomic, copy) NSString* title; @@ -133,34 +133,34 @@ void IJSVGAssertPaintableObject(id object); @property (nonatomic, assign) IJSVGNodeType type; @property (nonatomic, copy) NSString* name; @property (nonatomic, copy) NSString* className; -@property (nonatomic, retain) NSArray* classNameList; +@property (nonatomic, strong) NSArray* classNameList; @property (nonatomic, copy) NSString* unicode; @property (nonatomic, assign) BOOL shouldRender; -@property (nonatomic, retain) IJSVGUnitLength* x; -@property (nonatomic, retain) IJSVGUnitLength* y; -@property (nonatomic, retain) IJSVGUnitLength* width; -@property (nonatomic, retain) IJSVGUnitLength* height; -@property (nonatomic, retain) IJSVGUnitLength* opacity; -@property (nonatomic, retain) IJSVGUnitLength* fillOpacity; -@property (nonatomic, retain) IJSVGUnitLength* strokeOpacity; -@property (nonatomic, retain) IJSVGUnitLength* strokeWidth; -@property (nonatomic, retain) IJSVGUnitLength* offset; -@property (nonatomic, retain) IJSVGNode* fill; -@property (nonatomic, retain) IJSVGNode* stroke; +@property (nonatomic, strong) IJSVGUnitLength* x; +@property (nonatomic, strong) IJSVGUnitLength* y; +@property (nonatomic, strong) IJSVGUnitLength* width; +@property (nonatomic, strong) IJSVGUnitLength* height; +@property (nonatomic, strong) IJSVGUnitLength* opacity; +@property (nonatomic, strong) IJSVGUnitLength* fillOpacity; +@property (nonatomic, strong) IJSVGUnitLength* strokeOpacity; +@property (nonatomic, strong) IJSVGUnitLength* strokeWidth; +@property (nonatomic, strong) IJSVGUnitLength* offset; +@property (nonatomic, strong) IJSVGNode* fill; +@property (nonatomic, strong) IJSVGNode* stroke; @property (nonatomic, copy) NSString* identifier; @property (nonatomic, assign) IJSVGNode* parentNode; -@property (nonatomic, retain) IJSVGGroup* clipPath; -@property (nonatomic, retain) IJSVGGroup* mask; +@property (nonatomic, strong) IJSVGGroup* clipPath; +@property (nonatomic, strong) IJSVGGroup* mask; @property (nonatomic, assign) IJSVGWindingRule windingRule; @property (nonatomic, assign) IJSVGLineCapStyle lineCapStyle; @property (nonatomic, assign) IJSVGLineJoinStyle lineJoinStyle; -@property (nonatomic, retain) NSArray* transforms; -@property (nonatomic, retain) IJSVGFilter* filter; +@property (nonatomic, strong) NSArray* transforms; +@property (nonatomic, strong) IJSVGFilter* filter; @property (nonatomic, assign) CGFloat* strokeDashArray; @property (nonatomic, assign) NSInteger strokeDashArrayCount; @property (nonatomic, readonly) NSArray* lineDashPattern; -@property (nonatomic, retain) IJSVGUnitLength* strokeDashOffset; -@property (nonatomic, retain) IJSVG* svg; +@property (nonatomic, strong) IJSVGUnitLength* strokeDashOffset; +@property (nonatomic, strong) IJSVG* svg; @property (nonatomic, assign) IJSVGUnitType contentUnits; @property (nonatomic, assign) IJSVGUnitType units; @property (nonatomic, assign) IJSVGBlendMode blendMode; diff --git a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGRootNode.h b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGRootNode.h index 625d3ba..a7cd3db 100644 --- a/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGRootNode.h +++ b/Framework/IJSVG/IJSVG/Source/Nodes/IJSVGRootNode.h @@ -12,7 +12,7 @@ @interface IJSVGRootNode : IJSVGGroup -@property (nonatomic, retain) IJSVGUnitSize* intrinsicSize; +@property (nonatomic, strong) IJSVGUnitSize* intrinsicSize; @property (nonatomic, readonly) CGRect bounds; @end diff --git a/Framework/IJSVG/IJSVG/Source/Parsing/IJSVGParser.h b/Framework/IJSVG/IJSVG/Source/Parsing/IJSVGParser.h index 2f1b570..5107cd1 100644 --- a/Framework/IJSVG/IJSVG/Source/Parsing/IJSVGParser.h +++ b/Framework/IJSVG/IJSVG/Source/Parsing/IJSVGParser.h @@ -112,7 +112,7 @@ extern NSString* const IJSVGAttributeEdgeMode; NSMapTable*>* _detachedElements; } -@property (nonatomic, retain, readonly) IJSVGRootNode* rootNode; +@property (nonatomic, strong, readonly) IJSVGRootNode* rootNode; + (BOOL)isDataSVG:(NSData*)data; diff --git a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.h b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.h index 8eb7d7a..3ae26ce 100644 --- a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.h +++ b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.h @@ -21,7 +21,7 @@ @property (nonatomic, assign) CGRect viewBox; @property (nonatomic, assign) CGFloat backingScale; -@property (nonatomic, retain) IJSVGRenderingStyle* style; +@property (nonatomic, strong) IJSVGRenderingStyle* style; - (id)initWithViewPortRect:(CGRect)viewPort backingScale:(CGFloat)scale; diff --git a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.m b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.m index dafca90..8a7f71e 100644 --- a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.m +++ b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGLayerTree.m @@ -150,7 +150,6 @@ layer.frame = CGRectInset(layer.frame, -strokeWidthDifference, -strokeWidthDifference); - layer.strokeBoundingBox = layer.frame; layer.outerBoundingBox = layer.frame; } diff --git a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGRenderingStyle.h b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGRenderingStyle.h index f7bb37f..5c3586c 100644 --- a/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGRenderingStyle.h +++ b/Framework/IJSVG/IJSVG/Source/Rendering/IJSVGRenderingStyle.h @@ -17,9 +17,9 @@ @property (nonatomic, assign) IJSVGLineCapStyle lineCapStyle; @property (nonatomic, assign) IJSVGLineJoinStyle lineJoinStyle; @property (nonatomic, assign) CGFloat lineWidth; -@property (nonatomic, retain) IJSVGColorList* colorList; -@property (nonatomic, retain) NSColor* fillColor; -@property (nonatomic, retain) NSColor* strokeColor; +@property (nonatomic, strong) IJSVGColorList* colorList; +@property (nonatomic, strong) NSColor* fillColor; +@property (nonatomic, strong) NSColor* strokeColor; + (NSArray*)observableProperties; diff --git a/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheet.m b/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheet.m index 0d894a2..a4e5951 100644 --- a/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheet.m +++ b/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheet.m @@ -13,8 +13,8 @@ @interface IJSVGStyleSheetSelectorListItem : NSObject { } -@property (nonatomic, retain) IJSVGStyleSheetRule* rule; -@property (nonatomic, retain) IJSVGStyleSheetSelector* selector; +@property (nonatomic, strong) IJSVGStyleSheetRule* rule; +@property (nonatomic, strong) IJSVGStyleSheetSelector* selector; @end diff --git a/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheetRule.h b/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheetRule.h index 89f8e8a..b318eab 100644 --- a/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheetRule.h +++ b/Framework/IJSVG/IJSVG/Source/Stylesheets/IJSVGStyleSheetRule.h @@ -15,8 +15,8 @@ @interface IJSVGStyleSheetRule : NSObject { } -@property (nonatomic, retain) NSArray* selectors; -@property (nonatomic, retain) IJSVGStyle* style; +@property (nonatomic, strong) NSArray* selectors; +@property (nonatomic, strong) IJSVGStyle* style; - (BOOL)matchesNode:(IJSVGNode*)node selector:(IJSVGStyleSheetSelector**)matchedSelector; diff --git a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitPoint.h b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitPoint.h index c89a4d6..47c7933 100644 --- a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitPoint.h +++ b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitPoint.h @@ -11,8 +11,8 @@ @interface IJSVGUnitPoint : NSObject -@property (nonatomic, retain) IJSVGUnitLength* x; -@property (nonatomic, retain) IJSVGUnitLength* y; +@property (nonatomic, strong) IJSVGUnitLength* x; +@property (nonatomic, strong) IJSVGUnitLength* y; @property (nonatomic, readonly) CGPoint value; + (IJSVGUnitPoint*)pointWithX:(IJSVGUnitLength*)x diff --git a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitRect.h b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitRect.h index 048d4f5..5161cb0 100644 --- a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitRect.h +++ b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitRect.h @@ -12,8 +12,8 @@ @interface IJSVGUnitRect : NSObject -@property (nonatomic, retain) IJSVGUnitSize* size; -@property (nonatomic, retain) IJSVGUnitPoint* origin; +@property (nonatomic, strong) IJSVGUnitSize* size; +@property (nonatomic, strong) IJSVGUnitPoint* origin; @property (nonatomic, readonly) BOOL isZeroRect; @property (nonatomic, readonly) CGRect value; diff --git a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitSize.h b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitSize.h index fd41d50..9df265b 100644 --- a/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitSize.h +++ b/Framework/IJSVG/IJSVG/Source/Utils/IJSVGUnitSize.h @@ -11,8 +11,8 @@ @interface IJSVGUnitSize : NSObject -@property (nonatomic, retain) IJSVGUnitLength* width; -@property (nonatomic, retain) IJSVGUnitLength* height; +@property (nonatomic, strong) IJSVGUnitLength* width; +@property (nonatomic, strong) IJSVGUnitLength* height; @property (nonatomic, readonly) CGSize value; + (IJSVGUnitSize*)sizeWithWidth:(IJSVGUnitLength*)width 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 1a70ecd..8fa04dd 100644 Binary files a/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate and b/IJSVGExample/IJSVGExample.xcodeproj/project.xcworkspace/xcuserdata/curtishard.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/IJSVGExample/IJSVGExample.xcodeproj/xcuserdata/curtishard.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/IJSVGExample/IJSVGExample.xcodeproj/xcuserdata/curtishard.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index f75caf2..be500b3 100644 --- a/IJSVGExample/IJSVGExample.xcodeproj/xcuserdata/curtishard.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/IJSVGExample/IJSVGExample.xcodeproj/xcuserdata/curtishard.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,22 +3,4 @@ uuid = "21141E92-29FD-4CF6-AB04-0D4E4FD9A4AC" type = "1" version = "2.0"> - - - - - -