SmartQuant.Charting.TLabel.Paint C# (CSharp) Méthode

Paint() public méthode

public Paint ( Pad pad, double minX, double maxX, double minY, double maxY ) : void
pad Pad
minX double
maxX double
minY double
maxY double
Résultat void
        public override void Paint(Pad pad, double minX, double maxX, double minY, double maxY)
        {
            base.Paint(pad, minX, maxX, minY, maxY);
            if (string.IsNullOrWhiteSpace(Text))
                return;
            var size = pad.Graphics.MeasureString(Text, TextFont);
            var w = size.Width;
            var h = size.Height;
            var clientX = pad.ClientX(X);
            var clientY = pad.ClientY(Y);
            var point = PointF.Empty;
            switch (TextPosition)
            {
                case ETextPosition.RightTop:
                    point = new PointF(clientX + TextOffsetX, clientY - h - TextOffsetY);
                    break;
                case ETextPosition.LeftTop:
                    point = new PointF(clientX - w - TextOffsetX, clientY - h - TextOffsetY);
                    break;
                case ETextPosition.CentreTop:
                    point = new PointF(clientX - w/2 - TextOffsetX, clientY - h - TextOffsetY);
                    break;
                case ETextPosition.RightBottom:
                    point = new PointF(clientX + TextOffsetX, clientY + Size/2 + TextOffsetY);
                    break;
                case ETextPosition.LeftBottom:
                    point = new PointF(clientX - w - TextOffsetX, clientY + Size/2 + TextOffsetY);
                    break;
                case ETextPosition.CentreBottom:
                    point = new PointF(clientX - w/2 - TextOffsetX, clientY + Size/2 + TextOffsetY);
                    break;
            }
            pad.Graphics.DrawString(Text, TextFont, new SolidBrush(TextColor), point.X, point.Y);
        }
    }