Permalink
Browse files

Merge branch '1.1.0' into adding-cloneable-calayers

  • Loading branch information...
2 parents ab1d322 + d82d91a commit 3375aaaa9788f1309fe713078614ea01aa773035 adamgit committed May 11, 2013
Showing with 71 additions and 120 deletions.
  1. +4 −0 README.mdown
  2. +4 −12 SVGKit-iOS.xcodeproj/project.pbxproj
  3. +1 −0 Source/DOM classes/SVG-DOM/SVGElementInstanceList.m
  4. +2 −2 Source/DOM classes/SVG-DOM/SVGGElement.h
  5. +1 −0 Source/DOM classes/SVG-DOM/SVGLength.m
  6. +2 −2 Source/DOM classes/SVG-DOM/SVGUseElement.h
  7. +2 −2 Source/DOM classes/SVG-DOM/SVGUseElement.m
  8. +4 −9 Source/DOM classes/Unported or Partial DOM/BaseClassForAllSVGBasicShapes.h
  9. +0 −8 Source/DOM classes/Unported or Partial DOM/BaseClassForAllSVGBasicShapes.m
  10. +1 −1 Source/DOM classes/Unported or Partial DOM/{SVGLayeredElement.h → ConverterSVGToCALayer.h}
  11. +4 −1 Source/DOM classes/Unported or Partial DOM/SVGElement.m
  12. +2 −2 Source/DOM classes/Unported or Partial DOM/SVGGradientElement.h
  13. +7 −2 Source/DOM classes/Unported or Partial DOM/SVGGradientElement.m
  14. +2 −2 Source/DOM classes/Unported or Partial DOM/SVGGroupElement.h
  15. +1 −1 Source/DOM classes/Unported or Partial DOM/SVGImageElement.h
  16. +2 −2 Source/DOM classes/Unported or Partial DOM/SVGSVGElement.h
  17. +2 −2 Source/DOM classes/Unported or Partial DOM/SVGTextElement.h
  18. +1 −1 Source/Parsers/SVGKParseResult.m
  19. +1 −0 Source/Parsers/SVGKParser.m
  20. +1 −0 Source/QuartzCore additions/SVGKLayer.m
  21. +13 −9 Source/SVGKImage.m
  22. +2 −1 Source/UIKit additions/NSCharacterSet+SVGKExtensions.m
  23. +1 −0 Source/UIKit additions/SVGKFastImageView.m
  24. +1 −0 Source/UIKit additions/SVGKLayeredImageView.m
  25. +0 −25 Source/Unsorted/SVGKImage+SVGPathView.h
  26. +0 −35 Source/Unsorted/SVGKImage+SVGPathView.m
  27. +4 −1 XCodeProjectData/Demo-iOS/AppDelegate.m
  28. +5 −0 XCodeProjectData/Demo-iOS/DetailViewController.m
  29. +1 −0 XCodeProjectData/Demo-iOS/MasterViewController.m
View
@@ -2,6 +2,10 @@
SVGKit is a Cocoa framework for rendering SVG files natively: it's fast and powerful.
+Versions:
+ - v1.0 - 2013, approximately 90% coverage of the SVG spec. Stable and quite fast - https://github.com/SVGKit/SVGKit/tree/v1.0
+ - v1.1.0 - Current branch in development; all pull-requests should be issued against this branch - https://github.com/SVGKit/SVGKit/tree/1.1.0
+
## Xcode Projects Included
For 2013, we have a major refactor/rewrite of the core SVGKit, fixing many bugs, adding many features, and making SVGKit much closer to meeting the SVG official Specification - http://www.w3.org/TR/SVG/
@@ -138,7 +138,7 @@
66E863E81688C2780059C9C4 /* SVGGroupElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E863591688C2770059C9C4 /* SVGGroupElement.m */; };
66E863E91688C2780059C9C4 /* SVGImageElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8635A1688C2770059C9C4 /* SVGImageElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
66E863EA1688C2780059C9C4 /* SVGImageElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E8635B1688C2770059C9C4 /* SVGImageElement.m */; };
- 66E863EB1688C2780059C9C4 /* SVGLayeredElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8635C1688C2770059C9C4 /* SVGLayeredElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 66E863EB1688C2780059C9C4 /* ConverterSVGToCALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8635C1688C2770059C9C4 /* ConverterSVGToCALayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
66E863EC1688C2780059C9C4 /* SVGLineElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8635D1688C2770059C9C4 /* SVGLineElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
66E863ED1688C2780059C9C4 /* SVGLineElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E8635E1688C2770059C9C4 /* SVGLineElement.m */; };
66E863EE1688C2780059C9C4 /* SVGPathElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8635F1688C2770059C9C4 /* SVGPathElement.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -193,8 +193,6 @@
66E8641F1688C2780059C9C4 /* SVGKImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E863951688C2780059C9C4 /* SVGKImageView.m */; };
66E864201688C2780059C9C4 /* SVGKLayeredImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E863961688C2780059C9C4 /* SVGKLayeredImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
66E864211688C2780059C9C4 /* SVGKLayeredImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E863971688C2780059C9C4 /* SVGKLayeredImageView.m */; };
- 66E864221688C2780059C9C4 /* SVGKImage+SVGPathView.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E863991688C2780059C9C4 /* SVGKImage+SVGPathView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 66E864231688C2780059C9C4 /* SVGKImage+SVGPathView.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E8639A1688C2780059C9C4 /* SVGKImage+SVGPathView.m */; };
66E864241688C2780059C9C4 /* SVGKPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8639B1688C2780059C9C4 /* SVGKPattern.h */; settings = {ATTRIBUTES = (Public, ); }; };
66E864251688C2780059C9C4 /* SVGKPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 66E8639C1688C2780059C9C4 /* SVGKPattern.m */; };
66E864261688C2780059C9C4 /* SVGUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 66E8639D1688C2780059C9C4 /* SVGUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -360,7 +358,7 @@
66E863591688C2770059C9C4 /* SVGGroupElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGGroupElement.m; sourceTree = "<group>"; };
66E8635A1688C2770059C9C4 /* SVGImageElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGImageElement.h; sourceTree = "<group>"; };
66E8635B1688C2770059C9C4 /* SVGImageElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGImageElement.m; sourceTree = "<group>"; };
- 66E8635C1688C2770059C9C4 /* SVGLayeredElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGLayeredElement.h; sourceTree = "<group>"; };
+ 66E8635C1688C2770059C9C4 /* ConverterSVGToCALayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConverterSVGToCALayer.h; sourceTree = "<group>"; };
66E8635D1688C2770059C9C4 /* SVGLineElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGLineElement.h; sourceTree = "<group>"; };
66E8635E1688C2770059C9C4 /* SVGLineElement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGLineElement.m; sourceTree = "<group>"; };
66E8635F1688C2770059C9C4 /* SVGPathElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathElement.h; sourceTree = "<group>"; };
@@ -415,8 +413,6 @@
66E863951688C2780059C9C4 /* SVGKImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGKImageView.m; sourceTree = "<group>"; };
66E863961688C2780059C9C4 /* SVGKLayeredImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGKLayeredImageView.h; sourceTree = "<group>"; };
66E863971688C2780059C9C4 /* SVGKLayeredImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGKLayeredImageView.m; sourceTree = "<group>"; };
- 66E863991688C2780059C9C4 /* SVGKImage+SVGPathView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SVGKImage+SVGPathView.h"; sourceTree = "<group>"; };
- 66E8639A1688C2780059C9C4 /* SVGKImage+SVGPathView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "SVGKImage+SVGPathView.m"; sourceTree = "<group>"; };
66E8639B1688C2780059C9C4 /* SVGKPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGKPattern.h; sourceTree = "<group>"; };
66E8639C1688C2780059C9C4 /* SVGKPattern.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVGKPattern.m; sourceTree = "<group>"; };
66E8639D1688C2780059C9C4 /* SVGUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGUtils.h; sourceTree = "<group>"; };
@@ -679,7 +675,7 @@
66E863591688C2770059C9C4 /* SVGGroupElement.m */,
66E8635A1688C2770059C9C4 /* SVGImageElement.h */,
66E8635B1688C2770059C9C4 /* SVGImageElement.m */,
- 66E8635C1688C2770059C9C4 /* SVGLayeredElement.h */,
+ 66E8635C1688C2770059C9C4 /* ConverterSVGToCALayer.h */,
66E8635D1688C2770059C9C4 /* SVGLineElement.h */,
66E8635E1688C2770059C9C4 /* SVGLineElement.m */,
66E8635F1688C2770059C9C4 /* SVGPathElement.h */,
@@ -781,8 +777,6 @@
66E863981688C2780059C9C4 /* Unsorted */ = {
isa = PBXGroup;
children = (
- 66E863991688C2780059C9C4 /* SVGKImage+SVGPathView.h */,
- 66E8639A1688C2780059C9C4 /* SVGKImage+SVGPathView.m */,
66E8639B1688C2780059C9C4 /* SVGKPattern.h */,
66E8639C1688C2780059C9C4 /* SVGKPattern.m */,
66E8639D1688C2780059C9C4 /* SVGUtils.h */,
@@ -844,7 +838,7 @@
66E863E51688C2780059C9C4 /* SVGEllipseElement.h in Headers */,
66E863E71688C2780059C9C4 /* SVGGroupElement.h in Headers */,
66E863E91688C2780059C9C4 /* SVGImageElement.h in Headers */,
- 66E863EB1688C2780059C9C4 /* SVGLayeredElement.h in Headers */,
+ 66E863EB1688C2780059C9C4 /* ConverterSVGToCALayer.h in Headers */,
66E863EC1688C2780059C9C4 /* SVGLineElement.h in Headers */,
66E863EE1688C2780059C9C4 /* SVGPathElement.h in Headers */,
66E863F01688C2780059C9C4 /* SVGPolygonElement.h in Headers */,
@@ -873,7 +867,6 @@
66E8641C1688C2780059C9C4 /* SVGKFastImageView.h in Headers */,
66E8641E1688C2780059C9C4 /* SVGKImageView.h in Headers */,
66E864201688C2780059C9C4 /* SVGKLayeredImageView.h in Headers */,
- 66E864221688C2780059C9C4 /* SVGKImage+SVGPathView.h in Headers */,
66E864241688C2780059C9C4 /* SVGKPattern.h in Headers */,
66E864261688C2780059C9C4 /* SVGUtils.h in Headers */,
66EEE8521688CA8A002E2658 /* SVGKParserGradient.h in Headers */,
@@ -1041,7 +1034,6 @@
66E8641D1688C2780059C9C4 /* SVGKFastImageView.m in Sources */,
66E8641F1688C2780059C9C4 /* SVGKImageView.m in Sources */,
66E864211688C2780059C9C4 /* SVGKLayeredImageView.m in Sources */,
- 66E864231688C2780059C9C4 /* SVGKImage+SVGPathView.m in Sources */,
66E864251688C2780059C9C4 /* SVGKPattern.m in Sources */,
66E864271688C2780059C9C4 /* SVGUtils.m in Sources */,
66EEE8531688CA8A002E2658 /* SVGKParserGradient.m in Sources */,
@@ -2,6 +2,7 @@
#import "SVGElementInstanceList_Internal.h"
@implementation SVGElementInstanceList
+@synthesize internalArray;
- (void)dealloc {
self.internalArray = nil;
@@ -14,10 +14,10 @@
#import "SVGElement.h"
#import "SVGElement_ForParser.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
#import "SVGTransformable.h"
-@interface SVGGElement : SVGElement <SVGTransformable, SVGStylable, SVGLayeredElement >
+@interface SVGGElement : SVGElement <SVGTransformable, SVGStylable, ConverterSVGToCALayer >
@end
@@ -18,6 +18,7 @@ @implementation SVGLength
@synthesize value;
@synthesize valueInSpecifiedUnits;
@synthesize valueAsString;
+@synthesize internalCSSPrimitiveValue;
- (void)dealloc {
self.valueAsString = nil;
@@ -23,10 +23,10 @@
@class SVGElementInstance;
#import "SVGElementInstance.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
#import "SVGTransformable.h"
-@interface SVGUseElement : SVGElement < SVGTransformable /*FIXME: delete this rubbish:*/, SVGLayeredElement>
+@interface SVGUseElement : SVGElement < SVGTransformable /*FIXME: delete this rubbish:*/, ConverterSVGToCALayer>
@property(nonatomic, retain, readonly) /*FIXME: should be SVGAnimatedLength instead*/ SVGLength* x;
@property(nonatomic, retain, readonly) /*FIXME: should be SVGAnimatedLength instead*/ SVGLength* y;
@@ -26,7 +26,7 @@ -(CALayer *)newLayer
{
if( [instanceRoot.correspondingElement respondsToSelector:@selector(newLayer)])
{
- CALayer* initialLayer = [((SVGElement<SVGLayeredElement>*)instanceRoot.correspondingElement) newLayer];
+ CALayer* initialLayer = [((SVGElement<ConverterSVGToCALayer>*)instanceRoot.correspondingElement) newLayer];
if( CGRectIsEmpty( initialLayer.frame ) ) // Avoid Apple's UIKit getting upset by infinitely large/small areas due to floating point inaccuracy
return initialLayer;
@@ -45,7 +45,7 @@ -(CALayer *)newLayer
-(void)layoutLayer:(CALayer *)layer
{
if( [instanceRoot.correspondingElement respondsToSelector:@selector(layoutLayer:)])
- [((SVGElement<SVGLayeredElement>*)instanceRoot.correspondingElement) layoutLayer:layer];
+ [((SVGElement<ConverterSVGToCALayer>*)instanceRoot.correspondingElement) layoutLayer:layer];
}
@end
@@ -4,31 +4,26 @@
All the SVG Basic Shapes are rendered in ObjectiveC using the same CGPath primitive - so this class provides
a clean, OOP, way of implementing that.
- (the ONLY REASON this is a base class and not a Protocol is that the SVG spec defines explicit protocols, and
- does NOT define one for shapes)
-
- Sub-classes MUST write to the "pathForShapeInRelativeCoords" property, and this class will automatically generate
+ Sub-classes MUST write to the "pathForShapeInRelativeCoords" property, and this superclass will automatically generate
the required CALayer on the fly, using that CGPath
-
- Data:
- - "pathRelative": the actual path as parsed from the original file. THIS MIGHT NOT BE NORMALISED (maybe a future feature)
*/
#import "SVGElement.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
#import "SVGUtils.h"
#import "SVGTransformable.h"
@class SVGGradientElement;
@class SVGKPattern;
-@interface BaseClassForAllSVGBasicShapes : SVGElement < SVGStylable, SVGTransformable, SVGLayeredElement >
+@interface BaseClassForAllSVGBasicShapes : SVGElement < SVGStylable, SVGTransformable, ConverterSVGToCALayer >
{
/* FIXME: are any of these private elements in the SVG spec? */
NSString *_styleClass;
CGRect _layerRect;
}
+/** The actual path as parsed from the original file. THIS MIGHT NOT BE NORMALISED (TODO: perhaps an extra feature?) */
@property (nonatomic, readonly) CGPathRef pathForShapeInRelativeCoords;
@end
@@ -46,14 +46,6 @@ -(void)setPathForShapeInRelativeCoords:(CGPathRef)pathForShapeInRelativeCoords
CGPathRetain( _pathForShapeInRelativeCoords );
}
-- (void)postProcessAttributesAddingErrorsTo:(SVGKParseResult *)parseResult
-{
- [super postProcessAttributesAddingErrorsTo:parseResult];
-
- if( [[self getAttribute:@"class"] length] > 0 )
- _styleClass = [self getAttribute:@"class"];
-}
-
- (CALayer *) newLayer
{
NSAssert(self.pathForShapeInRelativeCoords != NULL, @"Requested a CALayer for SVG shape that never initialized its own .pathForShapeInRelativeCoords property. Shape class = %@. Shape instance = %@", [self class], self );
@@ -1,7 +1,7 @@
#import <Foundation/Foundation.h>
#import <QuartzCore/Quartzcore.h>
-@protocol SVGLayeredElement < NSObject >
+@protocol ConverterSVGToCALayer < NSObject >
/*!
NB: the returned layer has - as its "name" property - the "identifier" property of the SVGElement that created it;
@@ -213,7 +213,7 @@ - (void)postProcessAttributesAddingErrorsTo:(SVGKParseResult *)parseResult {
* skewY(<skew-angle>), which specifies a skew transformation along the y-axis.
*/
- if( [[self getAttribute:@"transform"] length] > 0 )
+ if( [[self getAttribute:@"transform"] length] > 0 || [[self getAttribute:@"gradientTransform"] length] > 0)
{
if( [self conformsToProtocol:@protocol(SVGTransformable)] )
{
@@ -225,6 +225,9 @@ - (void)postProcessAttributesAddingErrorsTo:(SVGKParseResult *)parseResult {
The individual transform definitions are separated by whitespace and/or a comma.
*/
NSString* value = [self getAttribute:@"transform"];
+ if (!value.length) {
+ value = [self getAttribute:@"gradientTransform"];
+ }
#if !(TARGET_OS_IPHONE) && ( !defined( __MAC_10_7 ) || __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6_7 )
NSLog(@"[%@] WARNING: the transform attribute requires OS X 10.7 or above (we need Regular Expressions! Apple was slow to add them :( ). Ignoring TRANSFORMs in SVG!", [self class] );
@@ -22,12 +22,12 @@
*/
#import "SVGElement.h"
-#import "SVGLayeredElement.h"
#import "SVGRect.h"
#import "SVGGradientStop.h"
+#import "SVGTransformable.h"
-@interface SVGGradientElement : SVGElement /* NB: does NOT implemente "SVGLayeredElement" because spec says that these specifically NEVER appear in the output */
+@interface SVGGradientElement : SVGElement <SVGTransformable> /* NB: does NOT implemente "SVGLayeredElement" because spec says that these specifically NEVER appear in the output */
{
@public
BOOL radial; /* FIXME: not in SVG Spec */
@@ -9,6 +9,7 @@
@implementation SVGGradientElement
@synthesize stops = _stops;
+@synthesize transform;
-(void)addStop:(SVGGradientStop *)gradientStop
{
@@ -100,12 +101,16 @@ -(CAGradientLayer *)newGradientLayerForObjectRect:(CGRect) objectRect viewportRe
SVGLength* svgX1 = [SVGLength svgLengthFromNSString:[self getAttributeInheritedIfNil:@"x1"]];
SVGLength* svgY1 = [SVGLength svgLengthFromNSString:[self getAttributeInheritedIfNil:@"y1"]];
- CGPoint startPoint = [self normalizeGradientCoordinate:svgX1 y:svgY1 rectToFill:rectForRelativeUnits];
+ CGPoint startPoint = CGPointMake(svgX1.value, svgY1.value);
+ startPoint = CGPointApplyAffineTransform(startPoint, self.transform);
+ startPoint = [self normalizeGradientCoordinate:[SVGLength svgLengthFromNSString:[NSString stringWithFormat:@"%f",startPoint.x]] y:[SVGLength svgLengthFromNSString:[NSString stringWithFormat:@"%f",startPoint.y]] rectToFill:rectForRelativeUnits];
SVGLength* svgX2 = [SVGLength svgLengthFromNSString:[self getAttributeInheritedIfNil:@"x2"]];
SVGLength* svgY2 = [SVGLength svgLengthFromNSString:[self getAttributeInheritedIfNil:@"y2"]];
- CGPoint endPoint = [self normalizeGradientCoordinate:svgX2 y:svgY2 rectToFill:rectForRelativeUnits];
+ CGPoint endPoint = CGPointMake(svgX2.value, svgY2.value);
+ endPoint = CGPointApplyAffineTransform(endPoint, self.transform);
+ endPoint = [self normalizeGradientCoordinate:[SVGLength svgLengthFromNSString:[NSString stringWithFormat:@"%f",endPoint.x]] y:[SVGLength svgLengthFromNSString:[NSString stringWithFormat:@"%f",endPoint.y]] rectToFill:rectForRelativeUnits];
#ifdef SVG_DEBUG_GRADIENTS
NSLog(@"Gradient start point %@ end point %@", NSStringFromCGPoint(startPoint), NSStringFromCGPoint(endPoint));
@@ -6,9 +6,9 @@
//
#import "SVGElement.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
-@interface SVGGroupElement : SVGElement < SVGLayeredElement > { }
+@interface SVGGroupElement : SVGElement < ConverterSVGToCALayer > { }
@property (nonatomic, readonly) CGFloat opacity;
@@ -6,7 +6,7 @@
#import "SVGElement_ForParser.h" // to resolve Xcode circular dependencies; in long term, parsing SHOULD NOT HAPPEN inside any class whose name starts "SVG" (because those are reserved classes for the SVG Spec)
-@interface SVGImageElement : SVGElement <SVGTransformable, SVGStylable, SVGLayeredElement, SVGFitToViewBox>
+@interface SVGImageElement : SVGElement <SVGTransformable, SVGStylable, ConverterSVGToCALayer, SVGFitToViewBox>
@property (nonatomic, readonly) CGFloat x;
@property (nonatomic, readonly) CGFloat y;
@@ -64,9 +64,9 @@
#import "Element.h"
#import "NodeList.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
-@interface SVGSVGElement : SVGElement < DocumentCSS, SVGFitToViewBox, /* FIXME: refactor and delete this, it's in violation of the spec: */ SVGLayeredElement >
+@interface SVGSVGElement : SVGElement < DocumentCSS, SVGFitToViewBox, /* FIXME: refactor and delete this, it's in violation of the spec: */ ConverterSVGToCALayer >
@@ -1,14 +1,14 @@
#import <Foundation/Foundation.h>
#import "SVGTextPositioningElement.h"
-#import "SVGLayeredElement.h"
+#import "ConverterSVGToCALayer.h"
#import "SVGTransformable.h"
/**
http://www.w3.org/TR/2011/REC-SVG11-20110816/text.html#TextElement
interface SVGTextElement : SVGTextPositioningElement, SVGTransformable
*/
-@interface SVGTextElement : SVGTextPositioningElement <SVGTransformable, SVGLayeredElement>
+@interface SVGTextElement : SVGTextPositioningElement <SVGTransformable, ConverterSVGToCALayer>
@end
@@ -3,7 +3,7 @@
@implementation SVGKParseResult
@synthesize libXMLFailed;
-@synthesize parsedDocument, rootOfSVGTree;
+@synthesize parsedDocument, rootOfSVGTree, namespacesEncountered;
@synthesize warnings, errorsRecoverable, errorsFatal;
#if ENABLE_PARSER_EXTENSIONS_CUSTOM_DATA
@@ -38,6 +38,7 @@ @implementation SVGKParser
@synthesize defaultXMLNamespaceForThisParseRun;
@synthesize parserExtensions;
+@synthesize parserKnownNamespaces;
static xmlSAXHandler SAXHandler;
@@ -6,6 +6,7 @@ @implementation SVGKLayer
}
@synthesize SVGImage = _SVGImage;
+@synthesize showBorder;
//self.backgroundColor = [UIColor clearColor];
Oops, something went wrong.

0 comments on commit 3375aaa

Please sign in to comment.