drawText method
void
drawText(
- 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);
}
}
}