private void SetXAxisStrokes(ViewArgs args) { int xAxisStrokeCount = 0; float actualPixelWidth, valueWidth, valueDistanceBetweenStrokes, min, max; actualPixelWidth = args.PixelSize.ActualPixelSize.X; valueWidth = args.ValueDimensions.Width; valueDistanceBetweenStrokes = GetValueDistanceBetweenStrokes(actualPixelWidth, valueWidth); min = args.ValueDimensions.Left - (ViewArgs.BufferFactor - 1) / 2F * args.ValueDimensions.Width; max = args.ValueDimensions.Right + (ViewArgs.BufferFactor - 1) / 2F * args.ValueDimensions.Width; foreach (float value in GetMultipleFromValuesInView(valueDistanceBetweenStrokes, min, max)) { float x, y1, y2; x = args.ToViewX(value); y1 = xAxisLine.Y - strokeLength / 2; y2 = xAxisLine.Y + strokeLength / 2; SetXAxisStroke(xAxisStrokeCount, x, y1, y2, value); xAxisStrokeCount++; } while (xAxisStrokes.Count > xAxisStrokeCount) { xAxisStrokes.RemoveAt(xAxisStrokeCount); } }
private void SetAxesLines(ViewArgs args) { xAxisLine.Y = GetBetween(args.ToViewY(0), 0, args.PixelSize.ActualHeight); yAxisLine.X = GetBetween(args.ToViewX(0), 0, args.PixelSize.ActualWidth); xAxisLine.X2 = args.PixelSize.ActualPixelSize.X; yAxisLine.Y2 = args.PixelSize.ActualHeight; }