render method

void render(
  1. Canvas canvas,
  2. Rect rect,
  3. double time, {
  4. required double seed,
  5. required List<double> params,
  6. List<Image>? images,
})

Renders the shader effect for a specific rect.

Implementation

void render(
  Canvas canvas,
  Rect rect,
  double time, {
  required double seed,
  required List<double> params,
  List<ui.Image>? images,
}) {
  // Write all provided floats to the shader in order.
  // The CALLER (SpoilerConfig callback) is responsible for providing
  // the correct number and order of floats matching the shader.
  for (int i = 0; i < params.length; i++) {
    _shader.setFloat(i, params[i]);
  }
  if (images != null) {
    for (int i = 0; i < images.length; i++) {
      _shader.setImageSampler(i, images[i]);
    }
  }

  final paint = Paint()..shader = _shader;
  canvas.drawRect(rect, paint);
}