protected void DrawTraceCustomAttributes(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { PlotDataPointTrace plotDataPointTrace = null; PlotDataPointTrace plotDataPointTrace2 = null; Brush brush = ((IPlotBrush)this.Fill.Brush).GetBrush(p, base.BoundsClip); this.m_FillRefPixel = yAxis.ValueToPixels(this.Reference); for (int i = this.IndexDrawStart; i <= this.IndexDrawStop; i++) { PlotDataPointTrace plotDataPointTrace3 = base.m_Data[i] as PlotDataPointTrace; if (plotDataPointTrace3.Null) { plotDataPointTrace = null; plotDataPointTrace2 = null; } else if (!plotDataPointTrace3.Empty) { if (plotDataPointTrace == null) { plotDataPointTrace = plotDataPointTrace3; } else { plotDataPointTrace2 = plotDataPointTrace3; if (plotDataPointTrace2.Trace.Visible) { this.DrawLine(p, xAxis, yAxis, ((IPlotPen)plotDataPointTrace2.Trace).GetPen(p), plotDataPointTrace, plotDataPointTrace2, brush); } plotDataPointTrace = plotDataPointTrace2; } } } }
protected override void Draw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { Pen pen = ((IPlotPen)base.Fill.Pen).GetPen(p); int dataViewXPixelsMin = base.GetDataViewXPixelsMin(); int dataViewXPixelsMax = base.GetDataViewXPixelsMax(); int num = yAxis.ValueToPixels(this.YStart); int num2 = dataViewXPixelsMax; int num3 = num; int num4 = dataViewXPixelsMin; int num5 = yAxis.ValueToPixels(this.YStop); int num6 = dataViewXPixelsMax; int num7 = num5; int num8 = dataViewXPixelsMin; Rectangle rectangle = iRectangle.FromLTRB(base.XYSwapped, num2, num5, num8, num); this.m_HitRectStart = iRectangle.FromLTRB(base.XYSwapped, num2, num - base.HitRegionSize, num4, num3 + base.HitRegionSize); this.m_HitRectStop = iRectangle.FromLTRB(base.XYSwapped, num6, num5 - base.HitRegionSize, num8, num7 + base.HitRegionSize); this.m_HitRectInner = rectangle; this.m_HitRectInner.Inflate(0, -base.HitRegionSize); if (base.Fill.Brush.Visible) { Brush brush = ((IPlotBrush)base.Fill.Brush).GetBrush(p, rectangle); p.Graphics.FillRectangle(brush, rectangle); } if (base.Fill.Pen.Visible) { if (base.XYSwapped) { p.Graphics.DrawLine(pen, num, num2, num3, num4); p.Graphics.DrawLine(pen, num5, num6, num7, num8); } else { p.Graphics.DrawLine(pen, num2, num, num4, num3); p.Graphics.DrawLine(pen, num6, num5, num8, num7); } } base.Bounds = Rectangle.Union(this.m_HitRectStart, this.m_HitRectStop); }
protected override void Draw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { Pen pen = ((IPlotPen)base.Line).GetPen(p); int num = yAxis.ValueToPixels(this.YReference); int dataViewXPixelsMin = base.GetDataViewXPixelsMin(); int dataViewXPixelsMax = base.GetDataViewXPixelsMax(); if (base.XYSwapped) { p.Graphics.DrawLine(pen, num, dataViewXPixelsMin, num, dataViewXPixelsMax); } else { p.Graphics.DrawLine(pen, dataViewXPixelsMin, num, dataViewXPixelsMax, num); } base.Bounds = iRectangle.FromLTRB(base.XYSwapped, dataViewXPixelsMin, num - base.HitRegionSize, dataViewXPixelsMax, num + base.HitRegionSize); }
private void DrawTraceFastDraw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { this.m_TraceFastDraw.P = p; this.m_TraceFastDraw.XAxis = xAxis; this.m_TraceFastDraw.YAxis = yAxis; this.m_TraceFastDraw.Pen = ((IPlotPen)this.Trace).GetPen(p); this.m_TraceFastDraw.TraceVisible = this.Trace.Visible; this.m_TraceFastDraw.XYSwapped = base.XYSwapped; this.m_TraceFastDraw.FillVisible = (this.Fill.Visible && this.Fill.Brush.Visible); this.m_TraceFastDraw.FillBrush = ((IPlotBrush)this.Fill.Brush).GetBrush(p, base.BoundsClip); this.m_TraceFastDraw.FillRefPixel = yAxis.ValueToPixels(this.Reference); this.m_TraceFastDraw.Reset(); for (int i = this.IndexDrawStart; i <= this.IndexDrawStop; i++) { this.m_TraceFastDraw.AddDataPoint(this[i]); } this.m_TraceFastDraw.DrawFlush(); }
protected override void Draw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { this.m_FillRefPixel = yAxis.ValueToPixels(this.Reference); this.m_XPixelMin = xAxis.ValueToPixels(xAxis.Min); this.m_XPixelMax = xAxis.ValueToPixels(xAxis.Max); if (this.m_XPixelMax < this.m_XPixelMin) { Math2.Switch(ref this.m_XPixelMax, ref this.m_XPixelMin); } int num = this.m_XPixelMax - this.m_XPixelMin; if (num < 1) { this.m_PixelYValues = null; } else { if (this.m_PixelYValues == null) { this.m_PixelYValues = new double[num]; } if (this.m_PixelYValues.Length != num) { this.m_PixelYValues = new double[num]; } } if (this.m_PixelYValues != null) { for (int i = 0; i < this.m_PixelYValues.Length; i++) { this.m_PixelYValues[i] = 1E+305; } } if (this.Trace.Visible && this.Count > 1) { this.DrawTraceCustomAttributes(p, xAxis, yAxis); } this.DrawMarkers(p, xAxis, yAxis, this.Markers); }
protected override void Draw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { this.m_FirstDrawComplete = true; if (!base.Designing && this.ImageXAutoSetup && !this.m_ImageXAutoSetupComplete) { this.ImageXSamples = xAxis.ScaleDisplay.PixelsSpan; this.ImageXSpanSamples = xAxis.ScaleDisplay.PixelsSpan; this.ImageXMin = xAxis.Min; this.ImageXSpan = xAxis.Span; this.m_ImageXAutoSetupComplete = true; } if (!base.Designing && this.ImageYAutoSetup && !this.m_ImageYAutoSetupComplete) { this.ImageYSamples = yAxis.ScaleDisplay.PixelsSpan; this.ImageYSpanSamples = yAxis.ScaleDisplay.PixelsSpan; this.ImageYMin = yAxis.Min; this.ImageYSpan = yAxis.Span; this.m_ImageXAutoSetupComplete = true; } if (!(xAxis.Min > this.ImageXMax) && !(xAxis.Max < this.ImageXMin) && !(yAxis.Min > this.ImageYMax) && !(yAxis.Max < this.ImageYMin)) { double num = xAxis.Min; double num2 = xAxis.Max; double num3 = yAxis.Min; double num4 = yAxis.Max; if (num < this.ImageXMin) { num = this.ImageXMin; } if (num2 > this.ImageXMax) { num2 = this.ImageXMax; } if (num3 < this.ImageYMin) { num3 = this.ImageYMin; } if (num4 > this.ImageYMax) { num4 = this.ImageYMax; } Rectangle rectangle = iRectangle.FromLTRB(base.XYSwapped, xAxis.ValueToPixels(num), yAxis.ValueToPixels(num3), xAxis.ValueToPixels(num2), yAxis.ValueToPixels(num4)); Point[] array = new Point[3]; if (!base.XYSwapped) { if (!xAxis.Reverse && !yAxis.Reverse) { array[0] = new Point(rectangle.Left, rectangle.Bottom); array[1] = new Point(rectangle.Right, rectangle.Bottom); array[2] = new Point(rectangle.Left, rectangle.Top); } else if (!xAxis.Reverse && yAxis.Reverse) { array[0] = new Point(rectangle.Left, rectangle.Top); array[1] = new Point(rectangle.Right, rectangle.Top); array[2] = new Point(rectangle.Left, rectangle.Bottom); } else if (xAxis.Reverse && !yAxis.Reverse) { array[0] = new Point(rectangle.Right, rectangle.Bottom); array[1] = new Point(rectangle.Left, rectangle.Bottom); array[2] = new Point(rectangle.Right, rectangle.Top); } else { array[0] = new Point(rectangle.Right, rectangle.Top); array[1] = new Point(rectangle.Left, rectangle.Top); array[2] = new Point(rectangle.Right, rectangle.Bottom); } } else if (!xAxis.Reverse && !yAxis.Reverse) { array[0] = new Point(rectangle.Left, rectangle.Bottom); array[1] = new Point(rectangle.Left, rectangle.Top); array[2] = new Point(rectangle.Right, rectangle.Bottom); } else if (!xAxis.Reverse && yAxis.Reverse) { array[0] = new Point(rectangle.Right, rectangle.Bottom); array[1] = new Point(rectangle.Right, rectangle.Top); array[2] = new Point(rectangle.Left, rectangle.Bottom); } else if (xAxis.Reverse && !yAxis.Reverse) { array[0] = new Point(rectangle.Left, rectangle.Top); array[1] = new Point(rectangle.Left, rectangle.Bottom); array[2] = new Point(rectangle.Right, rectangle.Top); } else { array[0] = new Point(rectangle.Right, rectangle.Top); array[1] = new Point(rectangle.Right, rectangle.Bottom); array[2] = new Point(rectangle.Left, rectangle.Top); } int left = this.ValueToImageSampleX(num); int right = this.ValueToImageSampleX(num2); int top = this.ValueToImageSampleY(num4); int bottom = this.ValueToImageSampleY(num3); Rectangle srcRect = iRectangle.FromLTRB(left, top, right, bottom); srcRect = new Rectangle(srcRect.Left, srcRect.Top, srcRect.Width, srcRect.Height); p.Graphics.DrawImage(this.m_Image, array, srcRect, GraphicsUnit.Pixel); } }
protected override void Draw(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { this.m_FillRefPixel = yAxis.ValueToPixels(this.Reference); this.m_XPixelMin = xAxis.ValueToPixels(xAxis.Min); this.m_XPixelMax = xAxis.ValueToPixels(xAxis.Max); if (this.m_XPixelMax < this.m_XPixelMin) { Math2.Switch(ref this.m_XPixelMax, ref this.m_XPixelMin); } int num = this.m_XPixelMax - this.m_XPixelMin; if (num < 1) { this.m_PixelYValues = null; } else { if (this.m_PixelYValues == null) { this.m_PixelYValues = new double[num]; } if (this.m_PixelYValues.Length != num) { this.m_PixelYValues = new double[num]; } } if (this.m_PixelYValues != null) { for (int i = 0; i < this.m_PixelYValues.Length; i++) { this.m_PixelYValues[i] = 1E+305; } } if (this.Trace.Visible && this.Count > 1) { int j = 0; int num2 = 0; int num3 = 0; for (; j < this.Count; j++) { if (this[j].Null) { if (num3 - num2 > 1) { this.SplineCalculations(num3 - num2 + 1, num2, num2 + 1, num3, num3 - 1); this.DrawTraceCustomAttributes(p, xAxis, yAxis, num2, num3); num2 = j + 1; num3 = num2; } } else { num3 = j; } } if (num3 - num2 > 1) { this.SplineCalculations(num3 - num2 + 1, num2, num2 + 1, num3, num3 - 1); this.DrawTraceCustomAttributes(p, xAxis, yAxis, num2, num3); } } this.DrawMarkers(p, xAxis, yAxis, this.Markers); }
private void DrawTrace(PaintArgs p, PlotXAxis xAxis, PlotYAxis yAxis) { if (this.Count >= 2) { PlotDataPointDifferential plotDataPointDifferential = new PlotDataPointDifferential(this); ((IPlotBrush)this.Fill.Brush).GetBrush(p, base.BoundsClip); this.m_TraceFastDraw.P = p; this.m_TraceFastDraw.XAxis = xAxis; this.m_TraceFastDraw.YAxis = yAxis; this.m_TraceFastDraw.Pen = ((IPlotPen)this.Trace).GetPen(p); this.m_TraceFastDraw.TraceVisible = this.Trace.Visible; this.m_TraceFastDraw.XYSwapped = base.XYSwapped; this.m_TraceFastDraw.FillVisible = (this.Fill.Visible && this.Fill.Brush.Visible); this.m_TraceFastDraw.FillBrush = ((IPlotBrush)this.Fill.Brush).GetBrush(p, base.BoundsClip); this.m_TraceFastDraw.FillRefPixel = yAxis.ValueToPixels(this.Reference); this.m_TraceFastDraw.Reset(); this.m_TraceFastDraw.Reset(); int num = -1; for (int i = this.IndexDrawStart; i <= this.IndexDrawStop; i++) { if (base.GetValid(i)) { if (num == -1) { this.m_TraceFastDraw.AddDataPoint(this[i]); num = i; } else if (this[num].Y != this[i].Y) { base.DataPointInitializing = true; plotDataPointDifferential.X = this[i].X; plotDataPointDifferential.Y = this[num].Y; base.DataPointInitializing = false; this.m_TraceFastDraw.AddDataPoint(plotDataPointDifferential); this.m_TraceFastDraw.AddDataPoint(this[i]); } else { this.m_TraceFastDraw.AddDataPoint(this[i]); } num = i; } else if (!this.GetEmpty(i) && this.GetNull(i)) { this.m_TraceFastDraw.AddDataPoint(this[i]); num = -1; } } if (num != -1 && !this.Terminated) { base.DataPointInitializing = true; if (base.DataDirection == DataDirection.Increasing) { plotDataPointDifferential.X = base.XAxis.Max; } else { plotDataPointDifferential.X = base.XAxis.Min; } plotDataPointDifferential.Y = this[num].Y; base.DataPointInitializing = false; this.m_TraceFastDraw.AddDataPoint(plotDataPointDifferential); } this.m_TraceFastDraw.DrawFlush(); } }