Exemplo n.º 1
0
        object MathML.MathMLVisitor.Visit(MathMLScriptElement e, object args)
        {
            MathMLElement c = (MathMLElement)args;

            switch (selection)
            {
            case SelectionType.Prev:
            {
                if (c == e.SubScript || c == e.SuperScript)
                {
                    selection = SelectionType.End;
                    return(e.Base.Accept(this, e));
                }
                else
                {
                    MathMLElement p = e.ParentNode as MathMLElement;
                    return(p != null?p.Accept(this, e) : null);
                }
            }

            case SelectionType.Next:
            {
                if (c == e.Base)
                {
                    MathMLElement next = e.SuperScript != null ? e.SuperScript : e.SubScript;
                    selection = SelectionType.Start;
                    return(next != null?next.Accept(this, null) : null);
                }
                else
                {
                    MathMLElement p = e.ParentNode as MathMLElement;
                    return(p != null?p.Accept(this, e) : null);
                }
            }

            case SelectionType.End:
            {
                MathMLElement end = e.SuperScript != null ? e.SuperScript :
                                    (e.SubScript != null ? e.SubScript : e.Base);
                return(end.Accept(this, null));
            }

            case SelectionType.Start:
            {
                return(e.Base.Accept(this, null));
            }

            default:
            {
                return(null);
            }
            }
        }
Exemplo n.º 2
0
		object MathML.MathMLVisitor.Visit(MathMLScriptElement e, object args)
		{
			return ((Area)formatter.Visit(e, args)).BoundingBox;
		}
Exemplo n.º 3
0
 object MathML.MathMLVisitor.Visit(MathMLScriptElement e, object args)
 {
     return(((Area)formatter.Visit(e, args)).BoundingBox);
 }