示例#1
0
        public override EquationBase Split(EquationContainer newParent)
        {
            EquationBase result = ActiveChild.Split(this);

            CalculateSize();
            return(result);
        }
        public static EquationBase CreateEquation(EquationContainer equationParent, Position position, SignCompositeSymbol symbol, bool useUpright)
        {
            EquationBase equation = null;

            switch (position)
            {
            case Position.None:
                equation = new SignSimple(equationParent, symbol, useUpright);
                break;

            case Position.Bottom:
                equation = new SignBottom(equationParent, symbol, useUpright);
                break;

            case Position.BottomAndTop:
                equation = new SignBottomTop(equationParent, symbol, useUpright);
                break;

            case Position.Sub:
                equation = new SignSub(equationParent, symbol, useUpright);
                break;

            case Position.SubAndSuper:
                equation = new SignSubSuper(equationParent, symbol, useUpright);
                break;
            }
            return(equation);
        }
示例#3
0
        public static EquationBase CreateEquation(EquationContainer equationParent, Position position)
        {
            CompositeBase equation = null;

            switch (position)
            {
            case Position.Bottom:
                equation = new CompositeBottom(equationParent);
                break;

            case Position.Top:
                equation = new CompositeTop(equationParent);
                break;

            case Position.BottomAndTop:
                equation = new CompositeBottomTop(equationParent);
                break;

            case Position.Sub:
                equation = new CompositeSub(equationParent);
                break;

            case Position.Super:
                equation = new CompositeSuper(equationParent);
                break;

            case Position.SubAndSuper:
                equation = new CompositeSubSuper(equationParent);
                break;
            }
            equation.ChangeMainEquationSize(1.3);
            return(equation);
        }
 public LeftRightBracket(EquationContainer parent, BracketSignType leftBracketType, BracketSignType rightBracketType)
     : base(parent)
 {
     bracketSign = new BracketSign(this, leftBracketType);
     bracketSign2 = new BracketSign(this, rightBracketType);
     childEquations.AddRange(new EquationBase[] { insideEq, bracketSign, bracketSign2 });
 }
 public SignSimple(EquationContainer parent, SignCompositeSymbol symbol, bool useUpright)
     : base(parent)
 {
     ActiveChild = mainEquation = new RowContainer(this);
     sign        = new StaticSign(this, symbol, useUpright);
     childEquations.AddRange(new EquationBase[] { mainEquation, sign });
 }
示例#6
0
 public Box(EquationContainer parent, BoxType boxType)
     : base(parent)
 {
     this.boxType = boxType;
     ActiveChild  = insideEq = new RowContainer(this);
     childEquations.Add(insideEq);
 }
 public static EquationBase CreateEquation(EquationContainer equationParent, Position position)
 {
     CompositeBase equation = null;
     switch (position)
     {
         case Position.Bottom:
             equation = new CompositeBottom(equationParent);
             break;
         case Position.Top:
             equation = new CompositeTop(equationParent);
             break;
         case Position.BottomAndTop:
             equation = new CompositeBottomTop(equationParent);
             break;
         case Position.Sub:
             equation = new CompositeSub(equationParent);
             break;
         case Position.Super:
             equation = new CompositeSuper(equationParent);
             break;
         case Position.SubAndSuper:
             equation = new CompositeSubSuper(equationParent);
             break;
     }
     equation.ChangeMainEquationSize(1.3);
     return equation;
 }
示例#8
0
 public LeftRightBracket(EquationContainer parent, BracketSignType leftBracketType, BracketSignType rightBracketType)
     : base(parent)
 {
     bracketSign  = new BracketSign(this, leftBracketType);
     bracketSign2 = new BracketSign(this, rightBracketType);
     childEquations.AddRange(new EquationBase[] { insideEq, bracketSign, bracketSign2 });
 }
示例#9
0
 public Box(EquationContainer parent, BoxType boxType)
     : base(parent)
 {
     this.boxType = boxType;
     ActiveChild = insideEq = new RowContainer(this);
     childEquations.Add(insideEq);
 }
示例#10
0
 public SquareRoot(EquationContainer parent)
     : base(parent)
 {
     radicalSign = new RadicalSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(radicalSign);
 }
        FormattedText secondSign; //only used by certain decorations

        #endregion Fields

        #region Constructors

        public DecorationDrawing(EquationContainer parent, DecorationType decorationType)
            : base(parent)
        {
            this.decorationType = decorationType;
            IsStatic = true;
            CreateDecorations();
            DetermineHeight();
        }
 public DivMathWithOuterBase(EquationContainer parent)
     : base(parent)
 {
     outerEquation = new RowContainer(this);
     outerEquation.HAlignment = Editor.HAlignment.Right;
     //insideEquation.HAlignment = Editor.HAlignment.Right;
     childEquations.Add(outerEquation);
 }
 public DivMathWithOuterBase(EquationContainer parent)
     : base(parent)
 {
     outerEquation            = new RowContainer(this);
     outerEquation.HAlignment = Editor.HAlignment.Right;
     //insideEquation.HAlignment = Editor.HAlignment.Right;
     childEquations.Add(outerEquation);
 }
示例#14
0
 public DivMath(EquationContainer parent)
     : base(parent)
 {
     divMathSign = new DivMathSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(divMathSign);
 }
示例#15
0
 public DivMath(EquationContainer parent)
     : base(parent)
 {
     divMathSign = new DivMathSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(divMathSign);
 }
示例#16
0
 public DecorationDrawing(EquationContainer parent, DecorationType decorationType)
     : base(parent)
 {
     this.decorationType = decorationType;
     IsStatic            = true;
     CreateDecorations();
     DetermineHeight();
 }
示例#17
0
 public SquareRoot(EquationContainer parent)
     : base(parent)
 {
     radicalSign = new RadicalSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(radicalSign);
 }
示例#18
0
 public EquationRow(EquationContainer parent)
     : base(parent)
 {
     TextEquation textEq = new TextEquation(this);
     ActiveChild = textEq;
     AddChild(textEq);
     CalculateSize();
 }
示例#19
0
 public DivTriangle(EquationContainer parent, bool isFixed)
     : base(parent)
 {
     this.isFixed = isFixed;
     divTriangleSign = new DivTriangleSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(divTriangleSign);
 }
示例#20
0
        public void AdjustCarets()
        {
            vCaret.Location    = ActiveChild.GetVerticalCaretLocation();
            vCaret.CaretLength = ActiveChild.GetVerticalCaretLength();
            EquationContainer innerMost = ((RowContainer)ActiveChild).GetInnerMostEquationContainer();

            hCaret.Location    = innerMost.GetHorizontalCaretLocation();
            hCaret.CaretLength = innerMost.GetHorizontalCaretLength();
        }
示例#21
0
 public DivTriangle(EquationContainer parent, bool isFixed)
     : base(parent)
 {
     this.isFixed    = isFixed;
     divTriangleSign = new DivTriangleSign(this);
     ActiveChild     = insideEquation = new RowContainer(this);
     childEquations.Add(insideEquation);
     childEquations.Add(divTriangleSign);
 }
示例#22
0
 public CompositeSub(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     bottomRowContainer = new RowContainer(this);
     bottomRowContainer.FontFactor = SubFontFactor;
     bottomRowContainer.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, bottomRowContainer });
 }
示例#23
0
 public RowContainer(EquationContainer parent, double lineSpaceFactor = 0)
     : base(parent)
 {
     EquationRow newLine = new EquationRow(this);
     AddLine(newLine);
     Height = newLine.Height;
     Width = newLine.Width;
     this.lineSpaceFactor = lineSpaceFactor;
 }
示例#24
0
 public CompositeTop(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     topRowContainer                = new RowContainer(this);
     topRowContainer.FontFactor     = SubFontFactor;
     topRowContainer.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, topRowContainer });
 }
 public CompositeBottom(EquationContainer parent)
     : base(parent)
 {
     this.SubLevel++;
     bottomRowContainer                = new RowContainer(this);
     bottomRowContainer.FontFactor     = SubFontFactor;
     bottomRowContainer.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, bottomRowContainer });
 }
 public CompositeSubSuper(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     subRow = new RowContainer(this);
     superRow = new RowContainer(this);
     superRow.FontFactor     = subRow.FontFactor     = SubFontFactor;
     superRow.ApplySymbolGap = subRow.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, subRow, superRow });
 }
示例#27
0
 public nRoot(EquationContainer parent)
     : base(parent)
 {
     radicalSign     = new RadicalSign(this);
     ActiveChild     = insideEquation = new RowContainer(this);
     nthRootEquation = new RowContainer(this);
     nthRootEquation.ApplySymbolGap = false;
     nthRootEquation.FontFactor     = SubFontFactor;
     childEquations.AddRange(new EquationBase[] { insideEquation, radicalSign, nthRootEquation });
 }
 public DecoratedCharacter(EquationContainer parent, TextEquation previous, CharacterDecorationType cdt, Position position, string sign)
     : base(parent)
 {
     this.Previous = previous;
     this.charFt = textManager.GetFormattedText(previous.Text[previous.CaretIndex - 1].ToString(), previous.GetFormats()[previous.CaretIndex - 1]);
     previous.ConsumeKey(System.Windows.Input.Key.Back);
     Height = FontSize;
     decorations.Add(new CharacterDecorationInfo() { DecorationType = cdt, Position = position, UnicodeString = sign });
     Width = charFt.Width;
 }
 public CompositeBottomTop(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     bottomRow             = new RowContainer(this);
     topRow                = new RowContainer(this);
     topRow.FontFactor     = bottomRow.FontFactor = SubFontFactor;
     topRow.ApplySymbolGap = bottomRow.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, bottomRow, topRow });
 }
 public CompositeBottomTop(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     bottomRow = new RowContainer(this);
     topRow = new RowContainer(this);
     topRow.FontFactor = bottomRow.FontFactor = SubFontFactor;
     topRow.ApplySymbolGap = bottomRow.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, bottomRow, topRow });
 }
示例#31
0
 public nRoot(EquationContainer parent)
     : base(parent)
 {
     radicalSign = new RadicalSign(this);
     ActiveChild = insideEquation = new RowContainer(this);
     nthRootEquation = new RowContainer(this);
     nthRootEquation.ApplySymbolGap = false;
     nthRootEquation.FontFactor = SubFontFactor;
     childEquations.AddRange(new EquationBase[] { insideEquation, radicalSign, nthRootEquation });
 }
示例#32
0
 public Decorated(EquationContainer parent, DecorationType decorationType, Position decorationPosition)
     : base(parent)
 {
     ActiveChild             = rowContainer = new RowContainer(this);
     this.decorationType     = decorationType;
     this.decorationPosition = decorationPosition;
     decoration = new DecorationDrawing(this, decorationType);
     this.childEquations.Add(rowContainer);
     this.childEquations.Add(decoration);
 }
 public HorizontalBracket(EquationContainer parent, HorizontalBracketSignType signType)
     : base(parent)
 {
     topEquation    = new RowContainer(this);
     bottomEquation = new RowContainer(this);
     bracketSign    = new HorizontalBracketSign(this, signType);
     childEquations.Add(topEquation);
     childEquations.Add(bracketSign);
     childEquations.Add(bottomEquation);
 }
 public HorizontalBracket(EquationContainer parent, HorizontalBracketSignType signType)
     : base(parent)
 {
     topEquation = new RowContainer(this);
     bottomEquation = new RowContainer(this);
     bracketSign = new HorizontalBracketSign(this, signType);
     childEquations.Add(topEquation);
     childEquations.Add(bracketSign);
     childEquations.Add(bottomEquation);
 }
示例#35
0
 public CompositeSubSuper(EquationContainer parent)
     : base(parent)
 {
     SubLevel++;
     subRow                  = new RowContainer(this);
     superRow                = new RowContainer(this);
     superRow.FontFactor     = subRow.FontFactor = SubFontFactor;
     superRow.ApplySymbolGap = subRow.ApplySymbolGap = false;
     childEquations.AddRange(new EquationBase[] { mainRowContainer, subRow, superRow });
 }
 public DoubleArrowBarBracket(EquationContainer parent)
     : base(parent)
 {
     ExtraHeight = FontSize * 0.2;
     MidSpace = FontSize * 0.5;
     leftArrowSign = new BracketSign(this, BracketSignType.LeftAngle);
     rightArrowSign = new BracketSign(this, BracketSignType.RightAngle);
     ActiveChild = leftEquation = new RowContainer(this);
     rightEquation = new RowContainer(this);
     childEquations.AddRange(new EquationBase[] { leftEquation, leftArrowSign, rightArrowSign, rightEquation });
 }
示例#37
0
 public MatrixEquation(EquationContainer parent, int rows, int columns)
     : base(parent)
 {
     this.rows    = rows;
     this.columns = columns;
     for (int i = 0; i < columns * rows; i++)
     {
         childEquations.Add(new RowContainer(this));
     }
     ActiveChild = childEquations.First();
 }
示例#38
0
 public SignBottom(EquationContainer parent, SignCompositeSymbol symbol, bool useUpright)
     : base(parent)
 {
     ActiveChild = mainEquation = new RowContainer(this);
     SubLevel++;
     bottomEquation = new RowContainer(this);
     bottomEquation.ApplySymbolGap = false;
     sign = new StaticSign(this, symbol, useUpright);
     bottomEquation.FontFactor = SubFontFactor;
     childEquations.AddRange(new EquationBase[] { mainEquation, bottomEquation, sign });
 }
示例#39
0
 public MatrixEquation(EquationContainer parent, int rows, int columns)
     : base(parent)
 {
     this.rows = rows;
     this.columns = columns;
     for (int i = 0; i < columns * rows; i++)
     {
         childEquations.Add(new RowContainer(this));
     }
     ActiveChild = childEquations.First();
 }
 public StaticSign(EquationContainer parent, SignCompositeSymbol symbol, bool useItalic)
     : base(parent)
 {
     integralSignItalic = useItalic;
     Symbol             = symbol;
     DetermineSignString();
     DetermineFontType();
     DetermineFontSizeFactor();
     DetermineMargin();
     ReformatSign();
 }
示例#41
0
        public static EquationBase CreateEquation(EquationContainer equationParent, DivisionType divType)
        {
            EquationBase equation = null;
            switch (divType)
            {
                case DivisionType.DivRegular:
                    equation = new DivRegular(equationParent);
                    break;
                case DivisionType.DivRegularSmall:
                    equation = new DivRegularSmall(equationParent);
                    break;
                case DivisionType.DivDoubleBar:
                    equation = new DivDoubleBar(equationParent);
                    break;
                case DivisionType.DivTripleBar:
                    equation = new DivTripleBar(equationParent);
                    break;

                case DivisionType.DivHoriz:
                    equation = new DivHorizontal(equationParent);
                    break;
                case DivisionType.DivHorizSmall:
                    equation = new DivHorizSmall(equationParent);
                    break;

                case DivisionType.DivMath:
                    equation = new DivMath(equationParent);
                    break;
                case DivisionType.DivMathWithTop:
                    equation = new DivMathWithTop(equationParent);
                    break;

                case DivisionType.DivSlanted:
                    equation = new DivSlanted(equationParent);
                    break;
                case DivisionType.DivSlantedSmall:
                    equation = new DivSlantedSmall(equationParent);
                    break;

                case DivisionType.DivMathInverted:
                    equation = new DivMathInverted(equationParent);
                    break;
                case DivisionType.DivInvertedWithBottom:
                    equation = new DivMathWithBottom(equationParent);
                    break;
                case DivisionType.DivTriangleFixed:
                    equation = new DivTriangle(equationParent, true);
                    break;
                case DivisionType.DivTriangleExpanding:
                    equation = new DivTriangle(equationParent, false);
                    break;
            }
            return equation;
        }
示例#42
0
 public DoubleArrowBarBracket(EquationContainer parent)
     : base(parent)
 {
     ExtraHeight    = FontSize * 0.2;
     MidSpace       = FontSize * 0.5;
     leftArrowSign  = new BracketSign(this, BracketSignType.LeftAngle);
     rightArrowSign = new BracketSign(this, BracketSignType.RightAngle);
     ActiveChild    = leftEquation = new RowContainer(this);
     rightEquation  = new RowContainer(this);
     childEquations.AddRange(new EquationBase[] { leftEquation, leftArrowSign, rightArrowSign, rightEquation });
 }
示例#43
0
 public StaticSign(EquationContainer parent, SignCompositeSymbol symbol, bool useItalic)
     : base(parent)
 {
     integralSignItalic = useItalic;
     Symbol = symbol;
     DetermineSignString();
     DetermineFontType();
     DetermineFontSizeFactor();
     DetermineMargin();
     ReformatSign();
 }
示例#44
0
 public SignBottom(EquationContainer parent, SignCompositeSymbol symbol, bool useUpright)
     : base(parent)
 {
     ActiveChild = mainEquation = new RowContainer(this);
     SubLevel++;
     bottomEquation = new RowContainer(this);
     bottomEquation.ApplySymbolGap = false;
     sign = new StaticSign(this, symbol, useUpright);
     bottomEquation.FontFactor = SubFontFactor;
     childEquations.AddRange(new EquationBase[] { mainEquation, bottomEquation, sign });
 }
示例#45
0
 public DecoratedCharacter(EquationContainer parent, TextEquation previous, CharacterDecorationType cdt, Position position, string sign)
     : base(parent)
 {
     this.Previous = previous;
     this.charFt   = textManager.GetFormattedText(previous.Text[previous.CaretIndex - 1].ToString(), previous.GetFormats()[previous.CaretIndex - 1]);
     previous.ConsumeKey(System.Windows.Input.Key.Back);
     Height = FontSize;
     decorations.Add(new CharacterDecorationInfo()
     {
         DecorationType = cdt, Position = position, UnicodeString = sign
     });
     Width = charFt.Width;
 }
示例#46
0
 public EquationBase(EquationContainer parent)
 {
     this.ParentEquation = parent;
     if (parent != null)
     {
         SubLevel = parent.SubLevel;
         fontSize = parent.fontSize;
         ApplySymbolGap = parent.ApplySymbolGap;
         r = (byte)(parent.r + 15);
         g = (byte)(parent.r + 15);
         b = (byte)(parent.r + 15);
     }
     debugBrush = new SolidColorBrush(Color.FromArgb(100, r, g, b));
     debugBrush.Freeze();
     boxPen.Freeze();
 }
 public EquationBase(EquationContainer parent)
 {
     this.ParentEquation = parent;
     if (parent != null)
     {
         SubLevel       = parent.SubLevel;
         fontSize       = parent.fontSize;
         ApplySymbolGap = parent.ApplySymbolGap;
         r = (byte)(parent.r + 15);
         g = (byte)(parent.r + 15);
         b = (byte)(parent.r + 15);
     }
     debugBrush = new SolidColorBrush(Color.FromArgb(100, r, g, b));
     debugBrush.Freeze();
     boxPen.Freeze();
 }
 public static EquationBase CreateEquation(EquationContainer equationParent, Position position)
 {
     EquationBase equation = null;
     switch (position)
     {
         case Position.Bottom:
             equation = new CompositeBottom(equationParent);
             break;
         case Position.Top:
             equation = new CompositeTop(equationParent);
             break;
         case Position.BottomAndTop:
             equation = new CompositeBottomTop(equationParent);
             break;
     }
     return equation;
 }
示例#49
0
 public Arrow(EquationContainer parent, ArrowType arrowType, Position equationPosition)
     : base(parent)
 {
     this.arrowType        = arrowType;
     this.equationPosition = equationPosition;
     SubLevel++;
     ApplySymbolGap           = false;
     ActiveChild              = rowContainer1 = new RowContainer(this);
     rowContainer1.FontFactor = SubFontFactor;
     this.childEquations.Add(rowContainer1);
     CreateDecorations();
     if (equationPosition == Position.BottomAndTop)
     {
         rowContainer2            = new RowContainer(this);
         rowContainer2.FontFactor = SubFontFactor;
         childEquations.Add(rowContainer2);
     }
 }
示例#50
0
 protected DivBase(EquationContainer parent, bool isSmall = false)
     : base(parent)
 {
     if (isSmall)
     {
         SubLevel++;
     }
     ActiveChild    = topEquation = new RowContainer(this);
     bottomEquation = new RowContainer(this);
     if (isSmall)
     {
         topEquation.FontFactor        = SubFontFactor;
         bottomEquation.FontFactor     = SubFontFactor;
         topEquation.ApplySymbolGap    = false;
         bottomEquation.ApplySymbolGap = false;
     }
     childEquations.AddRange(new EquationBase[] { topEquation, bottomEquation });
 }
示例#51
0
 protected DivBase(EquationContainer parent, bool isSmall = false)
     : base(parent)
 {
     if (isSmall)
     {
         SubLevel++;
     }
     ActiveChild = topEquation = new RowContainer(this);
     bottomEquation = new RowContainer(this);
     if (isSmall)
     {
         topEquation.FontFactor = SubFontFactor;
         bottomEquation.FontFactor = SubFontFactor;
         topEquation.ApplySymbolGap = false;
         bottomEquation.ApplySymbolGap = false;
     }
     childEquations.AddRange(new EquationBase[] { topEquation, bottomEquation});
 }
示例#52
0
 public Arrow(EquationContainer parent, ArrowType arrowType, Position equationPosition)
     : base(parent)
 {
     this.arrowType = arrowType;
     this.equationPosition = equationPosition;
     SubLevel++;
     ApplySymbolGap = false;
     ActiveChild = rowContainer1 = new RowContainer(this);
     rowContainer1.FontFactor = SubFontFactor;
     this.childEquations.Add(rowContainer1);
     CreateDecorations();
     if (equationPosition == Position.BottomAndTop)
     {
         rowContainer2 = new RowContainer(this);
         rowContainer2.FontFactor = SubFontFactor;
         childEquations.Add(rowContainer2);
     }
 }
示例#53
0
        FormattedText signText2; //used by certain brackets

        #endregion Fields

        #region Constructors

        public BracketSign(EquationContainer parent, BracketSignType entityType)
            : base(parent)
        {
            this.SignType = entityType;
            IsStatic = true;
            if (new[] {BracketSignType.LeftRound, BracketSignType.LeftCurly, BracketSignType.LeftAngle,
                        BracketSignType.LeftCeiling, BracketSignType.LeftFloor, BracketSignType.LeftSquare,
                        BracketSignType.LeftSquareBar}.Contains(entityType))
            {
                leftPaddingFactor = 0.02;
                rightPaddingFactor = 0;
            }
            else if (entityType == BracketSignType.LeftBar || entityType == BracketSignType.LeftDoubleBar ||
                     entityType == BracketSignType.RightBar || entityType == BracketSignType.RightDoubleBar)
            {
                leftPaddingFactor = 0.06;
                rightPaddingFactor = 0.06;
            }
        }
示例#54
0
 public BracketSign(EquationContainer parent, BracketSignType entityType)
     : base(parent)
 {
     this.SignType = entityType;
     IsStatic      = true;
     if (new[] { BracketSignType.LeftRound, BracketSignType.LeftCurly, BracketSignType.LeftAngle,
                 BracketSignType.LeftCeiling, BracketSignType.LeftFloor, BracketSignType.LeftSquare,
                 BracketSignType.LeftSquareBar }.Contains(entityType))
     {
         leftPaddingFactor  = 0.02;
         rightPaddingFactor = 0;
     }
     else if (entityType == BracketSignType.LeftBar || entityType == BracketSignType.LeftDoubleBar ||
              entityType == BracketSignType.RightBar || entityType == BracketSignType.RightDoubleBar)
     {
         leftPaddingFactor  = 0.06;
         rightPaddingFactor = 0.06;
     }
 }
示例#55
0
        public static EquationBase CreateEquation(EquationContainer equationParent, Position position)
        {
            EquationBase equation = null;

            switch (position)
            {
            case Position.Bottom:
                equation = new CompositeBottom(equationParent);
                break;

            case Position.Top:
                equation = new CompositeTop(equationParent);
                break;

            case Position.BottomAndTop:
                equation = new CompositeBottomTop(equationParent);
                break;
            }
            return(equation);
        }
 public static EquationBase CreateEquation(EquationContainer equationParent, Position position, SignCompositeSymbol symbol, bool useUpright)
 {
     EquationBase equation = null;
     switch (position)
     {
         case Position.None:
             equation = new SignSimple(equationParent, symbol, useUpright);
             break;
         case Position.Bottom:
             equation = new SignBottom(equationParent, symbol, useUpright);
             break;
         case Position.BottomAndTop:
             equation = new SignBottomTop(equationParent, symbol, useUpright);
             break;
         case Position.Sub:
             equation = new SignSub(equationParent, symbol, useUpright);
             break;
         case Position.SubAndSuper:
             equation = new SignSubSuper(equationParent, symbol, useUpright);
             break;
     }
     return equation;
 }
 public HorizontalBracketSign(EquationContainer parent, HorizontalBracketSignType signType)
     : base(parent)
 {
     this.SignType = signType;
     IsStatic = true;
 }
示例#58
0
 public DivMathSign(EquationContainer parent)
     : base(parent)
 {
     IsStatic = true;
 }
示例#59
0
 public TextEquation(EquationContainer parent)
     : base(parent)
 {
     CalculateSize();
 }
示例#60
0
 public StaticText(EquationContainer parent)
     : base(parent)
 {
     IsStatic = true;
 }