예제 #1
0
        public CssBoxSvgRoot CreateSvgBox(CssBox parentBox,
                                          HtmlElement elementNode,
                                          LayoutFarm.Css.BoxSpec spec)
        {
            //TODO: review here
            //

            //create blank svg document
            VgDocument svgdoc = new VgDocument();

            svgdoc.CssActiveSheet         = new LayoutFarm.WebDom.CssActiveSheet();
            _currentDoc                   = svgdoc;
            _svgDocBuilder.ResultDocument = svgdoc;
            //
            _svgDocBuilder.OnBegin();
            CreateBoxContent(elementNode);
            _svgDocBuilder.OnEnd();

            //-----------------------------------------
            SvgRootEventPortal svgRootController = new SvgRootEventPortal(elementNode);
            CssBoxSvgRoot      svgRoot           = new CssBoxSvgRoot(
                elementNode.Spec,
                svgdoc);

            svgRoot.SetController(svgRootController);
            svgRootController.SvgRoot = svgRoot;
            parentBox.AppendChild(svgRoot);
            return(svgRoot);
        }
예제 #2
0
        public CssBoxMathMLRoot CreateMathMLBox(CssBox parentBox,
                                                HtmlElement elementNode,
                                                LayoutFarm.Css.BoxSpec spec)
        {
            CssBoxMathMLRoot mathMLRoot = new CssBoxMathMLRoot(elementNode.Spec);

            MathMLDocument doc = new MathMLDocument();

            doc.CssActiveSheet    = new CssActiveSheet();
            _currentDoc           = doc;
            _docBuilder.ResultDoc = doc;
            _docBuilder.OnBegin();

            math mathNode = new math();

            _docBuilder.CurrentMathNode = mathNode;

            CreateBoxContent(elementNode);

            _docBuilder.OnEnd();

            MathMLRootEventPortal mathMLController = new MathMLRootEventPortal(elementNode);

            mathMLRoot.SetController(mathMLController);
            parentBox.AppendChild(mathMLRoot);
            return(mathMLRoot);

            ////TODO: review here
            ////

            ////create blank svg document
            //VgDocument svgdoc = new VgDocument();
            //svgdoc.CssActiveSheet = new LayoutFarm.WebDom.CssActiveSheet();
            //_currentDoc = svgdoc;
            //_svgDocBuilder.ResultDocument = svgdoc;
            ////
            //_svgDocBuilder.OnBegin();
            //CreateBoxContent(elementNode);
            //_svgDocBuilder.OnEnd();

            ////-----------------------------------------
            //SvgRootEventPortal svgRootController = new SvgRootEventPortal(elementNode);
            //CssBoxSvgRoot svgRoot = new CssBoxSvgRoot(
            //    elementNode.Spec,
            //    svgdoc);

            //svgRoot.SetController(svgRootController);
            //svgRootController.SvgRoot = svgRoot;
            //parentBox.AppendChild(svgRoot);
            //return svgRoot;
        }