public static VgVisualElement CreateVgVisualElemFromSvgContent(string svgContent)
        {
            VgDocBuilder docBuidler = new VgDocBuilder();
            SvgParser    parser     = new SvgParser(docBuidler);

            WebLexer.TextSnapshot textSnapshot = new WebLexer.TextSnapshot(svgContent);
            parser.ParseDocument(textSnapshot);//start document parsing

            //TODO: review this step again
            VgVisualDocBuilder builder = new VgVisualDocBuilder();
            VgDocument         svgDoc  = docBuidler.ResultDocument;

            //optional
            svgDoc.OriginalContent = svgContent;
            //-------------------------------------------------------------
            VgVisualElement vgVisRootElem = builder.CreateVgVisualDoc(svgDoc, null).VgRootElem;

            //
            vgVisRootElem.OwnerDocument = svgDoc;//tmp


            return(vgVisRootElem);
        }
Exemple #2
0
        public CssBoxSvgRoot(Css.BoxSpec spec, IRootGraphics rootgfx, VgDocument svgdoc)
            : base(spec, rootgfx, Css.CssDisplay.Block)
        {
            //----------
            _vgVisualDocHost = new PaintLab.Svg.VgVisualDocHost();
            _vgVisualDocHost.SetImgRequestDelgate((ImageBinder reqImgBinder, PaintLab.Svg.VgVisualElement vgVisualE, object requestFrom) =>
            {
                //TODO: implementation here
            });
            _vgVisualDocHost.SetInvalidateDelegate(vgVisualElem =>
            {
                vgVisualElem.ClearBitmapSnapshot();
                vgVisualElem.InvalidateBounds();
                this.InvalidateGraphics();
            });
            //----------

            SetAsCustomCssBox(this);
            //create svg node
            this.SvgDoc = svgdoc;
            //convert svgElem to agg-based
            ChangeDisplayType(this, Css.CssDisplay.Block);
        }