public int Add(FinancialMarkerType markerName, int firstPointIndex, int secondPointIndex, int firstYIndex, int secondYIndex, Color lineColor, int lineWidth) { return(this.Add(markerName, firstPointIndex, secondPointIndex, firstYIndex, secondYIndex, lineColor, lineWidth, Color.Black, new Font(ChartPicture.GetDefaultFontFamilyName(), 8f))); }
public void Insert(int index, FinancialMarkerType markerName, int firstPointIndex, int secondPointIndex) { this.Insert(index, markerName, firstPointIndex, secondPointIndex, 0, 0, Color.Gray, 1, Color.Black, new Font(ChartPicture.GetDefaultFontFamilyName(), 8f)); }
public int Add(FinancialMarkerType markerName, int firstPointIndex, int secondPointIndex) { return(this.Add(markerName, firstPointIndex, secondPointIndex, 0, 0, Color.Gray, 1, Color.Black, new Font(ChartPicture.GetDefaultFontFamilyName(), 8f))); }
public void Insert(int index, FinancialMarkerType markerName, int firstPointIndex, int secondPointIndex, int firstYIndex, int secondYIndex, Color lineColor, int lineWidth) { this.Insert(index, markerName, firstPointIndex, secondPointIndex, firstYIndex, secondYIndex, lineColor, lineWidth, Color.Black, new Font(ChartPicture.GetDefaultFontFamilyName(), 8f)); }
internal void DrawMarkers(ChartGraphics graph, ChartPicture chart, FinancialMarkerType markerName, Series series, int firstPoint, int firstYValue, int secondPoint, int secondYValue, Color lineColor, int lineWidth, ChartDashStyle lineStyle, Color textColor, Font textFont) { this.lineStyle = lineStyle; if (textColor == Color.Empty) { drawText = false; } else { this.textColor = textColor; drawText = true; } if (lineColor == Color.Empty) { this.lineColor = Color.Gray; } else { this.lineColor = lineColor; } if (lineWidth == 0) { this.lineWidth = 1; } else { this.lineWidth = lineWidth; } if (textFont == null) { this.textFont = new Font(ChartPicture.GetDefaultFontFamilyName(), 8f); } else { this.textFont = textFont; } ChartArea chartArea = chart.ChartAreas[series.ChartArea]; if (chartArea.Area3DStyle.Enable3D || chartArea.chartAreaIsCurcular || !chartArea.requireAxes) { return; } Axis axis = chartArea.GetAxis(AxisName.X, series.XAxisType, series.XSubAxisName); Axis axis2 = chartArea.GetAxis(AxisName.Y, series.YAxisType, series.YSubAxisName); double position; double position2; double position3; double position4; try { if (chartArea.Common.ChartTypeRegistry.GetChartType(series.ChartTypeName).SwitchValueAxes) { axesSwitched = true; Axis axis3 = axis2; axis2 = axis; axis = axis3; position = axis.GetPosition(series.Points[firstPoint].YValues[firstYValue]); position2 = axis2.GetPosition(series.Points[firstPoint].XValue); position3 = axis.GetPosition(series.Points[secondPoint].YValues[secondYValue]); position4 = axis2.GetPosition(series.Points[secondPoint].XValue); } else { axesSwitched = false; position = axis.GetPosition(series.Points[firstPoint].XValue); position2 = axis2.GetPosition(series.Points[firstPoint].YValues[firstYValue]); position3 = axis.GetPosition(series.Points[secondPoint].XValue); position4 = axis2.GetPosition(series.Points[secondPoint].YValues[secondYValue]); } } catch (Exception) { throw new InvalidOperationException(SR.ExceptionFinancialMarkersSeriesPointYValueIndexInvalid); } PointF relative = new PointF((float)position, (float)position2); PointF relative2 = new PointF((float)position3, (float)position4); relative = graph.GetAbsolutePoint(relative); relative2 = graph.GetAbsolutePoint(relative2); bool flag = false; foreach (DataPoint point in series.Points) { flag = true; if (point.XValue != 0.0) { flag = false; break; } } if (flag) { throw new InvalidOperationException(SR.ExceptionFormulaDataZeroIndexedXValuesUnsupported); } graph.SetClip(chartArea.PlotAreaPosition.ToRectangleF()); SmoothingMode smoothingMode = graph.SmoothingMode; if ((graph.AntiAliasing & AntiAliasingTypes.Graphics) == AntiAliasingTypes.Graphics) { graph.SmoothingMode = SmoothingMode.AntiAlias; } switch (markerName) { case FinancialMarkerType.FibonacciArcs: FibonacciArcs(graph, relative, relative2); break; case FinancialMarkerType.TrendLine: TrendLine(graph, relative, relative2); break; case FinancialMarkerType.FibonacciFans: FibonacciFans(graph, relative, relative2, chartArea); break; case FinancialMarkerType.FibonacciRetracements: FibonacciRetracements(graph, relative, relative2, chartArea); break; case FinancialMarkerType.SpeedResistanceLines: SpeedResistanceLines(graph, relative, relative2, chartArea); break; case FinancialMarkerType.QuadrantLines: QuadrantLines(graph, relative, relative2, chartArea); break; default: throw new InvalidOperationException(SR.ExceptionFinancialMarkersFormulaNotFound); } graph.ResetClip(); graph.SmoothingMode = smoothingMode; }