drawText method

void drawText(
  1. Canvas canvas
)

Implementation

void drawText(Canvas canvas) {
  double value;
  String str;
  for (int j = 0; j < mLineCount; j++) {
    value = mMaxVolume! - mMultiple! * j;
    str = value.toStringAsFixed(fixedLength!);
    final tp = getTextPainter(str);
    tp.layout();
    tp.paint(canvas, Offset(mWidth - tp.width, mDrawHeight / mLineCount * j + tp.height / 2));
  }

  final startText = mBuyData!.first.price.toStringAsFixed(fixedLength!);
  TextPainter startTP = getTextPainter(startText);
  startTP.layout();
  startTP.paint(canvas, Offset(0, getBottomTextY(startTP.height)));

  double centerPrice = (mBuyData!.last.price + mSellData!.first.price) / 2;

  final center = centerPrice.toStringAsFixed(fixedLength!);
  TextPainter centerTP = getTextPainter(center);
  centerTP.layout();
  centerTP.paint(canvas, Offset(mDrawWidth - centerTP.width / 2, getBottomTextY(centerTP.height)));

  final endText = mSellData!.last.price.toStringAsFixed(fixedLength!);
  TextPainter endTP = getTextPainter(endText);
  endTP.layout();
  endTP.paint(canvas, Offset(mWidth - endTP.width, getBottomTextY(endTP.height)));

  final leftHalfText = ((mBuyData!.first.price + centerPrice) / 2).toStringAsFixed(fixedLength!);
  TextPainter leftHalfTP = getTextPainter(leftHalfText);
  leftHalfTP.layout();
  leftHalfTP.paint(canvas, Offset((mDrawWidth - leftHalfTP.width) / 2, getBottomTextY(leftHalfTP.height)));

  var rightHalfText = ((mSellData!.last.price + centerPrice) / 2).toStringAsFixed(fixedLength!);
  TextPainter rightHalfTP = getTextPainter(rightHalfText);
  rightHalfTP.layout();
  rightHalfTP.paint(canvas, Offset((mDrawWidth + mWidth - rightHalfTP.width) / 2, getBottomTextY(rightHalfTP.height)));

  if (isLongPress) {
    if (pressOffset!.dx <= mDrawWidth) {
      final index = _indexOfTranslateX( pressOffset!.dx, 0, mBuyData!.length - 1, getBuyX);
      drawSelectView(canvas, index, true);
    } else {
      int index = _indexOfTranslateX(pressOffset!.dx, 0, mSellData!.length - 1, getSellX);
      drawSelectView(canvas, index, false);
    }
  }
}