drawChart method
void
drawChart(
- MACDEntity lastPoint,
- MACDEntity curPoint,
- double lastX,
- double curX,
- GetYFunction getY,
- Canvas canvas,
- KChartColors chartColors,
override
Implementation
@override
void drawChart(MACDEntity lastPoint, MACDEntity curPoint, double lastX,
double curX, GetYFunction getY, Canvas canvas, KChartColors chartColors) {
final prevMacd = lastPoint.macd;
final macd = curPoint.macd;
if (curPoint.macd != null) {
final mMACDWidth = indicatorStyle.macdWidth;
double r = mMACDWidth / 2;
double zeroy = getY(0);
double macdY = getY(macd!);
_rectPaint.style = (prevMacd == null || prevMacd <= macd)
? PaintingStyle.stroke
: PaintingStyle.fill;
if (macd > 0) {
canvas.drawRect(
Rect.fromLTRB(curX - r, macdY, curX + r, zeroy),
_rectPaint..color = indicatorStyle.upColor,
);
} else {
canvas.drawRect(
Rect.fromLTRB(curX - r, zeroy, curX + r, macdY),
_rectPaint..color = indicatorStyle.dnColor,
);
}
}
if (lastPoint.dif != null && lastPoint.dif != 0 && curPoint.dif != null) {
canvas.drawLine(
Offset(curX, getY(curPoint.dif!)),
Offset(lastX, getY(lastPoint.dif!)),
_linePaint..color = indicatorStyle.difColor,
);
}
if (lastPoint.dea != null && lastPoint.dea != 0 && curPoint.dea != null) {
canvas.drawLine(
Offset(curX, getY(curPoint.dea!)),
Offset(lastX, getY(lastPoint.dea!)),
_linePaint..color = indicatorStyle.deaColor,
);
}
}