drawMACD method

void drawMACD(
  1. MACDEntity curPoint,
  2. Canvas canvas,
  3. double curX,
  4. MACDEntity lastPoint,
  5. double lastX,
)

Implementation

void drawMACD(MACDEntity curPoint, Canvas canvas, double curX, MACDEntity lastPoint, double lastX) {
  final macd = curPoint.macd ?? 0;
  double macdY = getY(macd);
  double r = style.macdWidth / 2;
  double zeroY = getY(0);
  if (macd > 0) {
    canvas.drawRect(Rect.fromLTRB(curX - r, macdY, curX + r, zeroY), chartPaint..color = style.colors.up);
  } else {
    canvas.drawRect(Rect.fromLTRB(curX - r, zeroY, curX + r, macdY), chartPaint..color = style.colors.down);
  }

  if (lastPoint.dif != 0) drawLine(lastPoint.dif, curPoint.dif, canvas, lastX, curX, style.colors.dif);
  if (lastPoint.dea != 0) drawLine(lastPoint.dea, curPoint.dea, canvas, lastX, curX, style.colors.dea);
}