internal static RectangleF GetRect(FlexChart flexChart, IAnnotationBase anno)
        {
            var    annotaion = anno as AnnotationBase;
            PointF point     = PointF.Empty;
            _Size  size;
            SizeF  sz;

            if (annotaion is Line)
            {
                return(GetRect(flexChart, annotaion as Line));
            }
            else if (annotaion is Polygon)
            {
                return(GetRect(flexChart, annotaion as Polygon));
            }
            else
            {
                size = anno.GetSize();
                sz   = new SizeF((float)size.Width, (float)size.Height);
                if (annotaion is Text)
                {
                    sz = TextRenderer.MeasureText(((Text)annotaion).Content, ((Text)annotaion).ContentStyle.Font);
                }
                PointF loc = AnnoPointToCoords(flexChart, annotaion, annotaion.Location);
                point.X = (float)(loc.X - size.Width / 2);
                point.Y = (float)(loc.Y - size.Height / 2);
            }
            return(new RectangleF(point.X, point.Y, sz.Width, sz.Height));
        }
        internal static Rect GetRect(C1FlexChart flexChart, IAnnotationBase anno)
        {
            var   annotaion = anno as AnnotationBase;
            Point point     = new Point();
            _Size size;
            Size  sz;

            if (annotaion is Line)
            {
                return(GetRect(flexChart, annotaion as Line));
            }
            else if (annotaion is Polygon)
            {
                return(GetRect(flexChart, annotaion as Polygon));
            }
            else
            {
                size = anno.GetSize();
                sz   = new Size((float)size.Width, (float)size.Height);
                if (annotaion is Text)
                {
                    TextBlock txtBlock = new TextBlock();
                    txtBlock.FontStyle = (((Text)annotaion).Style.FontStyle);
                    txtBlock.Text      = ((Text)annotaion).Content;
                    txtBlock.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                    sz = txtBlock.DesiredSize;
                }
                Point loc = AnnoPointToCoords(flexChart, annotaion, annotaion.Location);
                point.X = (float)(loc.X - size.Width / 2);
                point.Y = (float)(loc.Y - size.Height / 2);
            }
            return(new Rect(point.X, point.Y, sz.Width, sz.Height));
        }