MTExample4_1.ChartStyle.SetPlotPanel C# (CSharp) Method

SetPlotPanel() private method

private SetPlotPanel ( Graphics g ) : void
g System.Drawing.Graphics
return void
        void SetPlotPanel(Graphics g)
        {
            // Set form1.PlotPanel:
            float xOffset = ChartArea.Width / 30f;
            float yOffset = ChartArea.Height / 30f;
            CGSize labelFontSize = g.MeasureString ("A", LabelFont);
            CGSize titleFontSize = g.MeasureString ("A", TitleFont);
            if (Title.ToUpper() == "NO TITLE") {
                titleFontSize.Width = 8f;
                titleFontSize.Height = 8f;
            }

            float xSpacing = xOffset / 3f;
            float ySpacing = yOffset / 3f;

            CGSize tickFontSize = g.MeasureString ("A", TickFont);
            float tickSpacing = 2f;
            CGSize yTickSize = g.MeasureString(YLimMin.ToString(), TickFont);
            for (float yTick = YLimMin + YTickOffset; yTick <= YLimMax; yTick += YTick) {
                CGSize tempSize = g.MeasureString(yTick.ToString(), TickFont);
                if (yTickSize.Width < tempSize.Width)
                    yTickSize = tempSize;
            }

            var leftMargin = (float)(xOffset + labelFontSize.Width + xSpacing + yTickSize.Width + tickSpacing);
            float rightMargin = xOffset;
            var topMargin = (float)(yOffset + titleFontSize.Height + ySpacing);
            var bottomMargin = (float)(yOffset + labelFontSize.Height + ySpacing + tickSpacing + tickFontSize.Height);

            // Define the plot panel size:
            form1.PlotPanel.Left = ChartArea.X + (int)leftMargin;
            form1.PlotPanel.Top = ChartArea.Y + (int)topMargin;
            form1.PlotPanel.Width = ChartArea.Width - (int)leftMargin - 2 * (int)rightMargin;
            form1.PlotPanel.Height = ChartArea.Height - (int)topMargin - (int)bottomMargin;
            form1.PlotPanel.BackColor = plotBackColor;
        }