drawBuySellSignal method

  1. @override
void drawBuySellSignal(
  1. CandleEntity curPoint,
  2. double curX,
  3. List<ExtraBuySellSignal>? buysellList,
  4. Canvas canvas,
)
override

Implementation

@override
void drawBuySellSignal(CandleEntity curPoint, double curX,
    List<ExtraBuySellSignal>? buysellList, Canvas canvas) {
  if (curPoint == null) {
    return;
  }
  if (buysellList == null) {
    return;
  }
  if (curPoint is KLineEntity) {
    var theTime = curPoint.time;
    var result = buysellList.firstWhere((element) => element.time == theTime,
        orElse: () =>
            ExtraBuySellSignal(time: -1, isBuy: false, isSell: false));

    if (result == null || result.time == -1) {
      return;
    }
    var isBuy = false;
    if (result.isBuy) {
      isBuy = true;
    } else if (result.isSell) {
      isBuy = false;
    }
    double r = mCandleWidth / 2;
    var buyColor = this.chartColors.upColor.withOpacity(0.4);
    var sellColor = this.chartColors.dnColor.withOpacity(0.4);
    chartPaint.color = isBuy ? buyColor : sellColor;

    canvas.drawRect(
        Rect.fromLTRB(
            curX - r, _contentRect.top, curX + r, _contentRect.bottom),
        chartPaint);
  }
}