paint method

void paint(
  1. Canvas canvas,
  2. Size size,
  3. NodeFlowTheme theme,
  4. GraphViewport viewport,
)

Paints the grid pattern on the canvas.

Calculates common parameters (visible area, grid area) once, then calls paintGrid for style-specific rendering.

Parameters:

  • canvas: The canvas to paint on
  • size: The size of the canvas
  • theme: Theme containing grid configuration (size, color, thickness)
  • viewport: Current viewport transformation (pan and zoom)

Implementation

void paint(
  Canvas canvas,
  Size size,
  NodeFlowTheme theme,
  GraphViewport viewport,
) {
  final gridSize = theme.gridTheme.size;
  if (gridSize <= 0) return;

  // Calculate common parameters once
  final visibleArea = _calculateVisibleArea(viewport, size);
  final gridArea = _calculateGridArea(visibleArea, gridSize);

  // Delegate to style-specific implementation
  paintGrid(canvas, theme, gridArea);
}