/// <exception cref="iText.Svg.Exceptions.SvgProcessingException"/> public virtual ISvgProcessorResult Process(INode root, ISvgConverterProperties converterProps) { if (root == null) { throw new SvgProcessingException(SvgLogMessageConstant.INODEROOTISNULL); } if (converterProps == null) { converterProps = new SvgConverterProperties(); } //Setup processorState PerformSetup(root, converterProps); //Find root IElementNode svgRoot = FindFirstElement(root, SvgConstants.Tags.SVG); if (svgRoot != null) { //Iterate over children ExecuteDepthFirstTraversal(svgRoot); ISvgNodeRenderer rootSvgRenderer = CreateResultAndClean(); return(new SvgProcessorResult(namedObjects, rootSvgRenderer, context.GetFontProvider(), context.GetTempFonts ())); } else { throw new SvgProcessingException(SvgLogMessageConstant.NOROOT); } }
/// <summary> /// Creates new /// <see cref="SvgProcessorResult"/> /// entity. /// </summary> /// <param name="namedObjects"> /// a map of named-objects with their id's as /// <see cref="System.String"/> /// keys and /// the /// <see cref="iText.Svg.Renderers.ISvgNodeRenderer"/> /// objects as values. /// </param> /// <param name="root"> /// a wrapped /// <see cref="iText.Svg.Renderers.ISvgNodeRenderer"/> /// root renderer. /// </param> /// <param name="context"> /// a /// <see cref="SvgProcessorContext"/> /// instance. /// </param> public SvgProcessorResult(IDictionary <String, ISvgNodeRenderer> namedObjects, ISvgNodeRenderer root, SvgProcessorContext context) { this.namedObjects = namedObjects; this.root = root; this.fontProvider = context.GetFontProvider(); this.tempFonts = context.GetTempFonts(); this.context = context; }