initialize method Null safety

void initialize(
  1. Canvas canvas,
  2. Size size
)

Implementation

void initialize(Canvas canvas, Size size) {
  paintObject = Paint()
    ..color = dropColors[0]
    ..style = PaintingStyle.fill;
  double effectiveLayer;
  for (int i = 0; i < this.numberOfDrops; i++) {
    double x = random.nextDouble() * size.width;
    double y = random.nextDouble() * size.height;
    // Keeping [widget.numberOfLayers] layers for the parallax effect, the base values are for the layer furthest behind
    int layerNumber =
        random.nextInt(numberOfLayers); // 0 is the layer furthest behind
    effectiveLayer = layerNumber * distanceBetweenLayers;
    dropSize = new Size(dropWidth, dropHeight);
    dropList.add(
      new Drop(
          drop: Offset(x, y) &
              Size(
                dropSize.width + (dropSize.width * effectiveLayer),
                dropSize.height + (dropSize.height * effectiveLayer),
              ),
          dropSpeed:
              this.dropFallSpeed + (this.dropFallSpeed * effectiveLayer),
          dropLayer: layerNumber,
          dropColor: dropColors[random.nextInt(dropColors.length)]),
    );
  }
}