FastReport

Форк
0
35 строк · 1.3 Кб
1
using FastReport.Utils;
2
using System.Drawing;
3
using System.ComponentModel;
4

5
namespace FastReport.Gauge.Radial
6
{
7
#if !DEBUG
8
    [DesignTimeVisible(false)]
9
#endif
10
    class RadialLabel : GaugeLabel
11
    {
12
        public RadialLabel(GaugeObject parent) : base(parent)
13
        {
14
            Parent = parent as RadialGauge;
15
        }
16

17
        public override void Draw(FRPaintEventArgs e)
18
        {
19
            if ((Parent as RadialGauge).Type == RadialGaugeType.Circle)
20
            {
21
                base.Draw(e);
22
                float x = (Parent.AbsLeft + Parent.Border.Width / 2) * e.ScaleX;
23
                float y = (Parent.AbsTop + Parent.Border.Width / 2) * e.ScaleY;
24
                float dx = (Parent.Width - Parent.Border.Width) * e.ScaleX - 1;
25
                float dy = (Parent.Height - Parent.Border.Width) * e.ScaleY - 1;
26

27
                PointF lblPt = new PointF(x + dx / 2, y + dy - ((Parent.Scale as RadialScale).AvrTick.Y - y));
28
                SizeF txtSize = RadialUtils.GetStringSize(e, Parent, Font, Text);
29
                Font font = RadialUtils.GetFont(e, Parent, Font);
30
                Brush brush = e.Cache.GetBrush(Color);
31
                e.Graphics.DrawString(Text, font, brush, lblPt.X - txtSize.Width / 2, lblPt.Y - txtSize.Height / 2);
32
            }
33
        }
34
    }
35
}
36

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.