drawMa method

void drawMa(
  1. Canvas canvas
)

Implementation

void drawMa(Canvas canvas) {
  canvas.save();
  canvas.translate(scrollX, 0);
  double? difStartX;
  double? difStartY;
  double? deaStartX;
  double? deaStartY;
  for (int i = 0, len = values.length; i < len; i++) {
    AceEntity item = values[i];
    if (item.macd != null && item.macd! != 0) {
      double x = indexToX(i) * scale + (getRealItemWidth() / 2) * scale;
      double difY = valueToY(item.dif!);
      if (difStartX == null || difStartY == null) {
        difStartX = x;
        difStartY = difY;
      }

      drawLine(
          canvas: canvas,
          startX: difStartX,
          startY: difStartY,
          endX: x,
          endY: difY,
          strokeWidth: difAndDeaLineWidth,
          color: difLineColor);

      difStartX = x;
      difStartY = difY;

      double deaY = valueToY(item.dea!);
      if (deaStartX == null || deaStartY == null) {
        deaStartX = x;
        deaStartY = deaY;
      }
      drawLine(
          canvas: canvas,
          startX: deaStartX,
          startY: deaStartY,
          endX: x,
          endY: deaY,
          strokeWidth: difAndDeaLineWidth,
          color: deaLineColor);

      deaStartX = x;
      deaStartY = deaY;
    }
  }

  canvas.restore();
}