drawCandle method

void drawCandle({
  1. required Canvas canvas,
  2. required PaintingStyle style,
  3. required double strokeWidth,
  4. required double scale,
  5. required Color color,
  6. required double dx,
  7. required double width,
  8. required double highY,
  9. required double lowY,
  10. required double closeY,
  11. required double openY,
})

Implementation

void drawCandle({
  required Canvas canvas,
  required PaintingStyle style,
  required double strokeWidth,
  required double scale,
  required Color color,
  required double dx,
  required double width,
  required double highY,
  required double lowY,
  required double closeY,
  required double openY,
}) {
  if (highY.isNaN || highY.isInfinite) {
    return;
  }
  _paint.style = style;
  _paint.color = color;
  _paint.strokeWidth = 1;
  double candleX = dx + width * scale / 2;
  if (closeY > openY) {
    canvas.drawLine(Offset(candleX, highY), Offset(candleX, openY), _paint);
    canvas.drawLine(Offset(candleX, lowY), Offset(candleX, closeY), _paint);
  } else {
    canvas.drawLine(Offset(candleX, lowY), Offset(candleX, openY), _paint);

    canvas.drawLine(Offset(candleX, highY), Offset(candleX, closeY), _paint);
  }
  drawHistogram(
      canvas: canvas,
      style: style,
      strokeWidth: strokeWidth,
      scale: scale,
      color: color,
      rect: Rect.fromLTRB(dx, openY, dx + width * scale, closeY));
}