Exemplo n.º 1
0
        void PaintRightAngle(DrawingContext dc)
        {
            PointCollection points = new PointCollection {
                new Point(SignRight, MidY), new Point(SignLeft, Bottom)
            };

            dc.DrawPolyline(new Point(SignLeft, Top), points, ThinPen);
        }
Exemplo n.º 2
0
 public override void DrawEquation(DrawingContext dc)
 {
     dc.DrawPolyline(new Point(Left, Bottom - Height * .4),
                     new PointCollection
     {
         new Point(Left + FontSize * .2, Bottom - Height * .5),
         new Point(Left + FontSize * .2, Bottom - Height * .5),
         new Point(Left + FontSize * .4, Bottom),
         new Point(Left + FontSize * .4, Bottom),
         new Point(Right - FontSize * .1, Top + FontSize * .1),
         new Point(Right - FontSize * .1, Top + FontSize * .1),
         new Point(ParentEquation.Right, Top + FontSize * .1),
     },
                     StandardPen);
 }
Exemplo n.º 3
0
        public override void DrawEquation(DrawingContext dc)
        {
            switch (decorationType)
            {
            case DecorationType.Bar:
                dc.DrawLine(ThinPen, Location, new Point(Right, Top));
                break;

            case DecorationType.DoubleBar:
                dc.DrawLine(ThinPen, Location, new Point(Right, Top));
                dc.DrawLine(ThinPen, new Point(Left, Bottom - ThinPen.Thickness),
                            new Point(Right, Bottom - ThinPen.Thickness));
                break;

            case DecorationType.Hat:
                dc.DrawPolyline(new Point(Left, Bottom - FontSize * .02),
                                new PointCollection
                {
                    new Point(MidX, Top + FontSize * .03),
                    new Point(Right, Bottom - FontSize * .02)
                },
                                ThinPen);
                break;

            case DecorationType.LeftArrow:
                firstSign.DrawTextTopLeftAligned(dc, Location);
                dc.DrawLine(ThinPen, new Point(Left + FontSize * .06, MidY), new Point(Right, MidY));
                break;

            case DecorationType.RightArrow:
                firstSign.DrawTextTopRightAligned(dc, new Point(Right, Top));
                dc.DrawLine(ThinPen, new Point(Left, MidY), new Point(Right - FontSize * .06, MidY));
                break;

            case DecorationType.DoubleArrow:
                DrawDoubleArrow(dc);
                break;

            case DecorationType.Parenthesis:
                DrawParentheses(dc);
                break;

            case DecorationType.RightHarpoonUpBarb:
                DrawRightHarpoonUpBarb(dc);
                break;

            case DecorationType.RightHarpoonDownBarb:
                DrawRightHarpoonDownBarb(dc);
                break;

            case DecorationType.LeftHarpoonUpBarb:
                DrawLeftHarpoonUpBarb(dc);
                break;

            case DecorationType.LeftHarpoonDownBarb:
                DrawLeftHarpoonDownBarb(dc);
                break;

            case DecorationType.Tilde:
                firstSign.DrawTextTopLeftAligned(dc, Location);
                break;

            case DecorationType.Tortoise:
                DrawTortoise(dc);
                break;

            case DecorationType.Cross:
                dc.DrawLine(ThinPen, ParentEquation.Location, new Point(Right, ParentEquation.Bottom));
                dc.DrawLine(ThinPen, new Point(Left, ParentEquation.Bottom), new Point(Right, ParentEquation.Top));
                break;

            case DecorationType.LeftCross:
                dc.DrawLine(ThinPen, ParentEquation.Location, new Point(Right, ParentEquation.Bottom));
                break;

            case DecorationType.RightCross:
                dc.DrawLine(ThinPen, new Point(Left, ParentEquation.Bottom), new Point(Right, ParentEquation.Top));
                break;

            case DecorationType.StrikeThrough:
                dc.DrawLine(ThinPen, new Point(Left, ParentEquation.MidY), new Point(Right, ParentEquation.MidY));
                break;
            }
        }
Exemplo n.º 4
0
 public override void DrawEquation(DrawingContext dc)
 {
     dc.DrawPolyline(new Point(ParentEquation.Right, Bottom), new PointCollection {
         new Point(Left, Bottom), new Point(Right, Top)
     }, StandardRoundPen);
 }