/// <summary> /// Shows a detailed section of the axes around the specified lap /// </summary> /// <param name="displayUpToLap">The lap to show in detail</param> void ScaleAxes(int displayUpToLap) { int displayFromLap = (displayUpToLap - 15 < 0 ? 0 : displayUpToLap - 15); horizontalAxis.axisLabelSpacing = 1; horizontalAxis.baseOffset = displayFromLap; horizontalAxis.scaleFactor = (float)(graphArea.Width) / (float)(displayUpToLap - displayFromLap); MyEvents.OnAxesComputerGenerated(horizontalAxis, verticalAxis, graphNormalisationType); }
/// <summary> /// Scales the axes after the availabe graph area is changed /// </summary> /// <param name="oldSize">The old graph area</param> /// <param name="newSize">The new graph area</param> void ScaleAxes(Rectangle oldSize, Rectangle newSize) { float scaleFactorX = (float)newSize.Width / (float)oldSize.Width; float scaleFactorY = (float)newSize.Height / (float)oldSize.Height; horizontalAxis.axisLabelSpacing = (int)Math.Round(scaleFactorX * horizontalAxis.axisLabelSpacing); if (horizontalAxis.axisLabelSpacing == 0) { horizontalAxis.axisLabelSpacing = 1; } verticalAxis.axisLabelSpacing = (int)Math.Round(scaleFactorY * verticalAxis.axisLabelSpacing); if (verticalAxis.axisLabelSpacing == 0) { verticalAxis.axisLabelSpacing = 1; } horizontalAxis.scaleFactor *= scaleFactorX; verticalAxis.scaleFactor *= scaleFactorY; verticalAxis.startLocation = (int)(scaleFactorY * verticalAxis.startLocation); MyEvents.OnAxesComputerGenerated(horizontalAxis, verticalAxis, graphNormalisationType); }
private void AxisModified(object sender, axisParameters e) { MyEvents.OnAxesComputerGenerated(GraphPanel.HorizontalAxis, GraphPanel.VerticalAxis, GraphPanel.NormalisationType); Invalidate(); }