Esempio n. 1
0
        protected override WriteResult Write(OpenXMLWpfMathRenderer renderer, WpfMath.Radical item)
        {
            var radicalEle = renderer.Push(new Radical());

            var radicalProperties = new RadicalProperties(
                new ControlProperties(
                    new W.RunProperties(
                        new W.RunFonts()
            {
                Ascii = "Cambria Math", HighAnsi = "Cambria Math"
            },
                        new W.Italic()
                        )
                    )
                );

            if (null == item.DegreeAtom)
            {
                radicalProperties.PrependChild(new HideDegree()
                {
                    Val = BooleanValues.One
                });
            }
            radicalEle.AppendChild(radicalProperties);

            // note we need a Degree element even if no degree text is present
            // (but note that in this case we have a HideDegree element in RadicalProperties)
            var degreeEle = renderer.Push(new Degree());

            if (null != item.DegreeAtom)
            {
                renderer.Write(item.DegreeAtom);
            }
            renderer.PopTo(degreeEle);


            if (null != item.BaseAtom)
            {
                var baseEle = renderer.Push(new Base());
                renderer.Write(item.BaseAtom);
                renderer.PopTo(baseEle);
            }

            renderer.PopTo(radicalEle);

            return(WriteResult.Completed);
        }
Esempio n. 2
0
        public static Radical CreateRadical(OpenXmlElement argument)
        {
            var rad        = new Radical();
            var radprop    = new RadicalProperties();
            var hideDegree = new HideDegree {
                Val = BooleanValues.One
            };
            var degree = new Degree();

            radprop.AppendChild(hideDegree);
            var bas = new Base();

            bas.AppendChild(argument);

            rad.Append(radprop, degree, bas);
            return(rad);
        }