drawBuy method

void drawBuy(
  1. Canvas canvas
)

Implementation

void drawBuy(Canvas canvas) {
  mBuyPointWidth = (mDrawWidth / (mBuyData!.length - 1 == 0 ? 1 : mBuyData!.length - 1));
  mBuyPath!.reset();
  double x;
  double y;
  for (int i = 0; i < mBuyData!.length; i++) {
    if (i == 0) mBuyPath!.moveTo(0, getY(mBuyData![0].vol));

    x = mBuyPointWidth! * i;
    y = getY(mBuyData![i].vol);
    if (i >= 1) canvas.drawLine(Offset(mBuyPointWidth! * (i - 1), getY(mBuyData![i - 1].vol)), Offset(x, y), mBuyLinePaint!);

    if (i != mBuyData!.length - 1) {
      mBuyPath!.quadraticBezierTo(x, y, mBuyPointWidth! * (i + 1), getY(mBuyData![i + 1].vol));
    } else {
      if (i == 0) {
        mBuyPath!.lineTo(mDrawWidth, y);
        mBuyPath!.lineTo(mDrawWidth, mDrawHeight);
        mBuyPath!.lineTo(0, mDrawHeight);
      } else {
        mBuyPath!.quadraticBezierTo(x, y, x, mDrawHeight);
        mBuyPath!.quadraticBezierTo(x, mDrawHeight, 0, mDrawHeight);
      }
      mBuyPath!.close();
    }
  }
  canvas.drawPath(mBuyPath!, mBuyPathPaint!);
}