drawChart method
draw chart
Implementation
@override
void drawChart(Canvas canvas, Size size) {
canvas.save();
canvas.translate(mTranslateX * scaleX + chartStyle.leftPadding, 0.0);
canvas.scale(scaleX, 1.0);
for (int i = mStartIndex; datas != null && i <= mStopIndex; i++) {
KLineEntity? curPoint = datas?[i];
if (curPoint == null) continue;
KLineEntity lastPoint = i == 0 ? curPoint : datas![i - 1];
double curX = getX(i);
double lastX = i == 0 ? curX : getX(i - 1);
mMainRenderer.drawChart(lastPoint, curPoint, lastX, curX, size, canvas);
mVolRenderer?.drawChart(lastPoint, curPoint, lastX, curX, size, canvas);
for (var element in mSecondaryRendererList) {
element.drawChart(lastPoint, curPoint, lastX, curX, size, canvas);
}
}
if (chartStyle.isLongFocus &&
((isLongPress == true || (isTapShowInfoDialog && longPressTriggered)) &&
isTrendLine == false)) {
drawCrossLine(canvas, size);
} else if (!chartStyle.isLongFocus &&
((isLongPress == true || (isTapShowInfoDialog && isOnTap)) &&
isTrendLine == false)) {
drawCrossLine(canvas, size);
}
if (isTrendLine == true) drawTrendLines(canvas, size);
canvas.restore();
}