renderCircleFilled method

void renderCircleFilled({
  1. required double radius,
  2. required double x,
  3. required double y,
})

Implementation

void renderCircleFilled({
  required double radius,
  required double x,
  required double y,
}){
  final angle = (2 * 3.14159) / _renderCircleSegments;
  var j = 0;
  for (int i = 0; i < _renderCircleSegments; i++) {
    _renderCirclePositions[j++] = x;
    _renderCirclePositions[j++] = y;
    _renderCirclePositions[j++] = x + adj(angle * i, radius);
    _renderCirclePositions[j++] = y + opp(angle * i, radius);
    _renderCirclePositions[j++] = x + adj(angle * (i + 1), radius);
    _renderCirclePositions[j++] = y + opp(angle * (i + 1), radius);
  }

  final vertices = ui.Vertices.raw(
    ui.VertexMode.triangles,
    _renderCirclePositions,
    textureCoordinates: null,
    colors: null,
    indices: null,
  );

  canvas.drawVertices(vertices, ui.BlendMode.srcOver, paint);
}