public override void DrawEquation(System.Windows.Media.DrawingContext dc) { base.DrawEquation(dc); switch (boxType) { case BoxType.All: dc.DrawPolyline(LeftTop, new PointCollection { RightTop, RightBottom, LeftBottom, LeftTop, RightTop }, StandardMiterPen); break; case BoxType.LeftBottom: dc.DrawPolyline(LeftTop, new PointCollection { LeftBottom, RightBottom }, StandardMiterPen); break; case BoxType.LeftTop: dc.DrawPolyline(RightTop, new PointCollection { LeftTop, LeftBottom }, StandardMiterPen); break; case BoxType.RightBottom: dc.DrawPolyline(RightTop, new PointCollection { RightBottom, LeftBottom }, StandardMiterPen); break; case BoxType.RightTop: dc.DrawPolyline(LeftTop, new PointCollection { RightTop, RightBottom }, StandardMiterPen); break; } }
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); }
public override void DrawEquation(DrawingContext dc) { dc.DrawPolyline(new Point(ParentEquation.Right, Bottom), new PointCollection{new Point(Left, Bottom), new Point(Right, Top)}, StandardRoundPen); }
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; } }
void PaintRightAngle(DrawingContext dc) { PointCollection points = new PointCollection { new Point(SignRight, MidY), new Point(SignLeft, Bottom) }; dc.DrawPolyline(new Point(SignLeft, Top), points, ThinPen); }