Esempio n. 1
0
        private static void RenderDataPointLabel(ChartGraphics graph, ChartArea area, int index, TreeMapNode dataPointTreeMapNode, RectangleF seriesLabelRelativeRect)
        {
            RectangleF relativeRect = TreeMapChart.GetRelativeRect(graph, dataPointTreeMapNode);
            string     labelText    = TreeMapChart.GetLabelText(dataPointTreeMapNode.DataPoint);

            TreeMapChart.RenderDataPointLabel(graph, area, index, dataPointTreeMapNode, labelText, TreeMapChart.GetDataPointLabelRelativeRect(graph, dataPointTreeMapNode, relativeRect, labelText), relativeRect, seriesLabelRelativeRect);
        }
Esempio n. 2
0
 private static string GetLabelText(DataPoint point)
 {
     if (!TreeMapChart.IsLabelVisible(point))
     {
         return(string.Empty);
     }
     return(PieChart.GetLabelText(point, true));
 }
Esempio n. 3
0
        private static void RenderDataPoint(ChartGraphics graph, CommonElements common, int index, TreeMapNode dataPointTreeMapNode)
        {
            RectangleF relativeRect = TreeMapChart.GetRelativeRect(graph, dataPointTreeMapNode);
            DataPoint  dataPoint    = dataPointTreeMapNode.DataPoint;

            graph.FillRectangleRel(relativeRect, dataPoint.Color, dataPoint.BackHatchStyle, dataPoint.BackImage, dataPoint.BackImageMode, dataPoint.BackImageTransparentColor, dataPoint.BackImageAlign, dataPoint.BackGradientType, dataPoint.BackGradientEndColor, dataPoint.BorderColor, dataPoint.BorderWidth, dataPoint.BorderStyle, dataPoint.series.ShadowColor, dataPoint.series.ShadowOffset, PenAlignment.Inset, ChartGraphics.GetBarDrawingStyle(dataPoint), true);
            TreeMapChart.AddDataPointHotRegion(graph, common, index, dataPoint, relativeRect);
        }
Esempio n. 4
0
 private static RectangleF GetSeriesLabelRelativeRect(ChartGraphics graph, ChartArea area, Series series, RectangleF seriesRelativeRect, DataPoint point)
 {
     if (!string.IsNullOrEmpty(series.legendText) && TreeMapChart.IsLabelVisible(point))
     {
         using (Font font = TreeMapChart.GetSeriesLabelFont(point))
         {
             return(TreeMapChart.GetLabelRelativeRect(graph, font, seriesRelativeRect, series.legendText, LabelAlignmentTypes.TopLeft));
         }
     }
     return(RectangleF.Empty);
 }
Esempio n. 5
0
 private static void RenderDataPointLabel(ChartGraphics graph, ChartArea area, int index, TreeMapNode dataPointTreeMapNode, string text, RectangleF labelRelativeRect, RectangleF dataPointRelativeRect, RectangleF seriesLabelRelativeRect)
 {
     if (!labelRelativeRect.IsEmpty && TreeMapChart.CanLabelFit(dataPointRelativeRect, labelRelativeRect) && !labelRelativeRect.IntersectsWith(seriesLabelRelativeRect))
     {
         StringFormat stringFormat = new StringFormat();
         stringFormat.Alignment     = StringAlignment.Near;
         stringFormat.LineAlignment = StringAlignment.Near;
         DataPoint dataPoint = dataPointTreeMapNode.DataPoint;
         graph.DrawPointLabelStringRel(area.Common, text, dataPoint.Font, new SolidBrush(dataPoint.FontColor), labelRelativeRect.Location, stringFormat, dataPoint.FontAngle, labelRelativeRect, dataPoint.LabelBackColor, dataPoint.LabelBorderColor, dataPoint.LabelBorderWidth, dataPoint.LabelBorderStyle, dataPoint.series, dataPoint, index);
     }
 }
Esempio n. 6
0
        private static RectangleF GetLabelRelativeRect(ChartGraphics graph, Font font, RectangleF treeMapNodeRelativeRect, string text, LabelAlignmentTypes labelAlignment)
        {
            if (string.IsNullOrEmpty(text))
            {
                return(RectangleF.Empty);
            }
            SizeF relativeSize = graph.GetRelativeSize(graph.MeasureString(text.Replace("\\n", "\n"), font, new SizeF(1000f, 1000f), new StringFormat(StringFormat.GenericTypographic)));
            float num          = relativeSize.Width + relativeSize.Width / (float)text.Length;
            float num2         = (float)(relativeSize.Height + relativeSize.Height / 8.0);

            return(new RectangleF(TreeMapChart.GetLabelXPosition(treeMapNodeRelativeRect, num, labelAlignment), TreeMapChart.GetLabelYPosition(treeMapNodeRelativeRect, num2, labelAlignment), num, num2));
        }
Esempio n. 7
0
 private static void RenderSeriesLabel(ChartGraphics graph, TreeMapNode seriesTreeMapNode, RectangleF labelRelativeRect)
 {
     if (!labelRelativeRect.IsEmpty)
     {
         Series    series    = seriesTreeMapNode.Series;
         DataPoint dataPoint = seriesTreeMapNode.DataPoint;
         using (Font font = TreeMapChart.GetSeriesLabelFont(dataPoint))
         {
             StringFormat stringFormat = new StringFormat();
             stringFormat.Alignment     = StringAlignment.Near;
             stringFormat.LineAlignment = StringAlignment.Near;
             graph.DrawStringRel(series.legendText, font, new SolidBrush(dataPoint.FontColor), labelRelativeRect.Location, stringFormat, 0);
         }
     }
 }
Esempio n. 8
0
 private static void RenderDataPoints(ChartGraphics graph, CommonElements common, List <TreeMapNode> seriesTreeMapNodes)
 {
     foreach (TreeMapNode seriesTreeMapNode in seriesTreeMapNodes)
     {
         int num = 0;
         foreach (TreeMapNode child in seriesTreeMapNode.Children)
         {
             RectangleF rectangle = child.Rectangle;
             TreeMapChart.RenderDataPoint(graph, common, num, child);
             if (seriesTreeMapNode.DataPoint == null && !child.DataPoint.Empty)
             {
                 seriesTreeMapNode.DataPoint = child.DataPoint;
             }
             num++;
         }
     }
 }
Esempio n. 9
0
 private static string GetLabelText(CategoryNode categoryNode, DataPoint dataPoint, Series series, DataPointAttributes dataPointAttributes)
 {
     if (dataPoint != null)
     {
         if (TreeMapChart.IsLabelVisible(dataPoint))
         {
             string labelText = PieChart.GetLabelText(dataPoint, false);
             if (!string.IsNullOrEmpty(labelText))
             {
                 return(labelText);
             }
             return(SunburstChart.GetCategoryNodeLabelText(categoryNode, series, dataPoint));
         }
     }
     else if (TreeMapChart.IsLabelVisible(dataPointAttributes))
     {
         return(SunburstChart.GetCategoryNodeLabelText(categoryNode, series, dataPointAttributes));
     }
     return(string.Empty);
 }
Esempio n. 10
0
        public void Paint(ChartGraphics graph, CommonElements common, ChartArea area, Series seriesToDraw)
        {
            foreach (Series item in common.DataManager.Series)
            {
                if (item.IsVisible() && item.ChartArea == area.Name && string.Compare(item.ChartTypeName, this.Name, true, CultureInfo.CurrentCulture) != 0 && !common.ChartPicture.SuppressExceptions)
                {
                    throw new InvalidOperationException(SR.ExceptionChartCanNotCombine(this.Name));
                }
            }
            double             value = default(double);
            List <TreeMapNode> list  = default(List <TreeMapNode>);

            TreeMapChart.BuildTreeNodes(common, area, out value, out list);
            RectangleF plottingArea = TreeMapChart.GetPlottingArea(graph, area);

            TreeMapSquaringAlgorithm.CalculateRectangles(plottingArea, list, value);
            graph.SetClip(graph.GetRelativeRectangle(plottingArea));
            TreeMapChart.RenderDataPoints(graph, common, list);
            TreeMapChart.RenderLabels(graph, area, list);
            graph.ResetClip();
        }
Esempio n. 11
0
 private static void RenderLabels(ChartGraphics graph, ChartArea area, List <TreeMapNode> seriesTreeMapNodes)
 {
     foreach (TreeMapNode seriesTreeMapNode in seriesTreeMapNodes)
     {
         if (seriesTreeMapNode.DataPoint != null)
         {
             RectangleF relativeRect = TreeMapChart.GetRelativeRect(graph, seriesTreeMapNode);
             RectangleF rectangleF   = TreeMapChart.GetSeriesLabelRelativeRect(graph, area, seriesTreeMapNode.Series, relativeRect, seriesTreeMapNode.DataPoint);
             if (!TreeMapChart.CanLabelFit(relativeRect, rectangleF))
             {
                 rectangleF = RectangleF.Empty;
             }
             int num = 0;
             foreach (TreeMapNode child in seriesTreeMapNode.Children)
             {
                 DataPoint  dataPoint = child.DataPoint;
                 RectangleF rectangle = child.Rectangle;
                 TreeMapChart.RenderDataPointLabel(graph, area, num, child, rectangleF);
                 num++;
             }
             TreeMapChart.RenderSeriesLabel(graph, seriesTreeMapNode, rectangleF);
         }
     }
 }
Esempio n. 12
0
        private static RectangleF GetDataPointLabelRelativeRect(ChartGraphics graph, TreeMapNode dataPointTreeMapNode, RectangleF dataPointRelativeRect, string text)
        {
            DataPoint dataPoint = dataPointTreeMapNode.DataPoint;

            return(TreeMapChart.GetLabelRelativeRect(graph, dataPoint.Font, dataPointRelativeRect, text, TreeMapChart.GetLabelAlignment(dataPoint)));
        }