public static AnchorDrawable Create(SvgAnchor svgAnchor, Rect skOwnerBounds, DrawableBase?parent, IAssetLoader assetLoader, Attributes ignoreAttributes = Attributes.None) { var drawable = new AnchorDrawable(assetLoader) { Element = svgAnchor, Parent = parent, IgnoreAttributes = ignoreAttributes, IsDrawable = true }; drawable.CreateChildren(svgAnchor, skOwnerBounds, drawable, assetLoader, ignoreAttributes); drawable.IsAntialias = SvgModelExtensions.IsAntialias(svgAnchor); drawable.TransformedBounds = Rect.Empty; drawable.CreateTransformedBounds(); drawable.Transform = SvgModelExtensions.ToMatrix(svgAnchor.Transforms); drawable.Fill = null; drawable.Stroke = null; // TODO: Transform _skBounds using _skMatrix. drawable.TransformedBounds = drawable.Transform.MapRect(drawable.TransformedBounds); drawable.ClipPath = null; drawable.MaskDrawable = null; drawable.Opacity = drawable.IgnoreAttributes.HasFlag(Attributes.Opacity) ? null : SvgModelExtensions.GetOpacityPaint(svgAnchor); drawable.Filter = null; return(drawable); }
public static AnchorDrawable Create(SvgAnchor svgAnchor, SKRect skViewport, DrawableBase?parent, IAssetLoader assetLoader, HashSet <Uri>?references, DrawAttributes ignoreAttributes = DrawAttributes.None) { var drawable = new AnchorDrawable(assetLoader, references) { Element = svgAnchor, Parent = parent, IgnoreAttributes = ignoreAttributes, IsDrawable = true }; drawable.CreateChildren(svgAnchor, skViewport, drawable, assetLoader, references, ignoreAttributes); drawable.Initialize(); return(drawable); }