private void GraphGrid_PaintSurface(object sender, SkiaSharp.Views.Desktop.SKPaintSurfaceEventArgs e) { GridSurface = e.Surface; GridCanvas = GridSurface.Canvas; GridCanvas.Clear(SKColors.White); if (GridYEnabled) { // draw y grid lines pixelsPerUnitY = graphGrid.CanvasSize.Height / (GridYMax - GridYMin); float stepSizeY = GridYStep; float gridYText = GridYMax; for (float y = 0; y <= graphGrid.CanvasSize.Height; y += (stepSizeY * pixelsPerUnitY)) { GridCanvas.DrawLine(0, y, graphGrid.CanvasSize.Width, y, GridPaint1); GridCanvas.DrawText(gridYText.ToString(), 5, y - 5, GridText1); gridYText -= stepSizeY; } } if (GridXEnabled) { // draw x grid lines float pixelsPerUnitX = graphGrid.CanvasSize.Width / (GridXMax - GridXMin); float stepSizeX = GridXStep; for (float x = 0; x <= graphGrid.CanvasSize.Width; x += (stepSizeX * pixelsPerUnitX)) { GridCanvas.DrawLine(x, 0, x, graphGrid.CanvasSize.Height, GridPaint1); } } // rpint the legend float x1 = 300; float x2 = x1 + 120; float x3 = x2 + 120; float x4 = x3 + 120; float x5 = x4 + 120; float y1 = 30; GridCanvas.DrawText(Legend1, x1, y1, GraphPaint1); GridCanvas.DrawText(Legend2, x2, y1, GraphPaint2); GridCanvas.DrawText(Legend3, x3, y1, GraphPaint3); GridCanvas.DrawText(Legend4, x4, y1, GraphPaint4); GridCanvas.DrawText(Legend5, x5, y1, GraphPaint5); if (!AutoScale) { refresh = true; } }
private void GraphGrid_PaintSurface(object sender, SkiaSharp.Views.Desktop.SKPaintSurfaceEventArgs e) { GridSurface = e.Surface; GridCanvas = GridSurface.Canvas; GridCanvas.Clear(SKColors.Black); if (GridYEnabled) { // draw y grid lines pixelsPerUnitY = graphGrid.CanvasSize.Height / (GridYMax - GridYMin); float stepSizeY = GridYStep; for (float y = 0; y <= graphGrid.CanvasSize.Height; y += (stepSizeY * pixelsPerUnitY)) { GridCanvas.DrawLine(0, y, graphGrid.CanvasSize.Width, y, GridPaint1); } } if (GridXEnabled) { // draw x grid lines float pixelsPerUnitX = graphGrid.CanvasSize.Width / (GridXMax - GridXMin); float stepSizeX = GridXStep; for (float x = 0; x <= graphGrid.CanvasSize.Width; x += (stepSizeX * pixelsPerUnitX)) { GridCanvas.DrawLine(x, 0, x, graphGrid.CanvasSize.Height, GridPaint1); } } if (!AutoScale) { refresh = true; } }