draw method
Implementation
void draw(
Canvas canvas,
Size size, {
required Background background,
required Offset cameraOffset,
required double gridStrokeWidth,
}) {
final safeCameraOffset = sanitizeFiniteOffset(cameraOffset);
final safeGridStrokeWidth = clampNonNegativeFinite(gridStrokeWidth);
final grid = background.grid;
final cell = grid.cellSize;
final effectiveGridEnabled = grid.isEnabled && cell.isFinite && cell > 0;
final effectiveCellSize = effectiveGridEnabled ? cell : 0.0;
final key = _StaticLayerKey(
size: size,
backgroundColor: background.color,
gridEnabled: effectiveGridEnabled,
gridCellSize: effectiveCellSize,
gridColor: grid.color,
gridStrokeWidth: safeGridStrokeWidth,
cameraOffset: safeCameraOffset,
);
if (_picture == null || _key != key) {
_disposePictureIfNeeded();
_key = key;
_picture = _recordPicture(
size,
background,
safeCameraOffset,
safeGridStrokeWidth,
);
_debugBuildCount += 1;
}
canvas.drawPicture(_picture!);
}