123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- //
- http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGGradientElement
-
- interface SVGGradientElement : SVGElement,
- SVGURIReference,
- SVGExternalResourcesRequired,
- SVGStylable,
- SVGUnitTypes {
-
- // Spread Method Types
- const unsigned short SVG_SPREADMETHOD_UNKNOWN = 0;
- const unsigned short SVG_SPREADMETHOD_PAD = 1;
- const unsigned short SVG_SPREADMETHOD_REFLECT = 2;
- const unsigned short SVG_SPREADMETHOD_REPEAT = 3;
-
- readonly attribute SVGAnimatedEnumeration gradientUnits;
- readonly attribute SVGAnimatedTransformList gradientTransform;
- readonly attribute SVGAnimatedEnumeration spreadMethod;
-
- */
- #import "SVGElement.h"
- #import "SVGRect.h"
- #import "SVGGradientStop.h"
- #import "SVGTransformable.h"
- #import "SVGPreserveAspectRatio.h"
- #import "SVGUnitTypes.h"
- typedef NS_ENUM(NSUInteger, SVGSpreadMethod) {
- SVGSpreadMethodUnkown = 0,
- SVGSpreadMethodPad = 1,
- SVGSpreadMethodReflect = 2,
- SVGSpreadMethodRepeat = 3
- };
- @class SVGGradientLayer;
- @interface SVGGradientElement : SVGElement <SVGTransformable> /* NB: does NOT implemente "SVGLayeredElement" because spec says that these specifically NEVER appear in the output */
- @property (readonly, strong) NSArray *stops; /* FIXME: not in SVG Spec */
- @property (readonly, strong) NSArray *locations; /* FIXME: not in SVG Spec */
- @property (readonly, strong) NSArray *colors; /* FIXME: not in SVG Spec */
- @property (readonly, assign) SVG_UNIT_TYPE gradientUnits;
- @property (readonly, assign) SVGSpreadMethod spreadMethod; /* FIXME: currently only support `pad`. other methods are not supported */
- -(void)addStop:(SVGGradientStop *)gradientStop; /* FIXME: not in SVG Spec */
- -(NSString*) getAttributeInheritedIfNil:(NSString*)attrName;
- -(SVGGradientLayer *)newGradientLayerForObjectRect:(CGRect)objectRect
- viewportRect:(SVGRect)viewportRect
- transform:(CGAffineTransform)transform;
- - (void)synthesizeProperties; // resolve any xlink:hrefs to other gradients
- @end
|