builder method
Implementation
@override
BasePainter builder(BuildContext context) {
final data = watchController();
double average = 0;
if (data is AceStockMetricController && data.average != null) {
average = data.average!;
}
final painter = LineChartPainter(
useShader: widget.useShader,
transformTime: widget.transformTime,
maxLength: data.maxLength,
pointSpace: data.getSpace(),
scrollX: data.getScrollX(),
scale: data.getScale(),
pressOffset: data.getPressOffset(),
averageLineColor: widget.averageLineColor,
average: average,
values: data.values,
pointWidth: data.pointWidth,
strokeWidth: widget.strokeWidth,
lastClose: widget.lastClose,
paddingTop: widget.paddingTop,
lineColor: widget.lineColor,
gridLineWidth: widget.gridLineWidth,
gridLineColor: widget.gridLineColor,
gridHorizontalGrids: widget.gridHorizontalGrids,
gridVerticalGrids: widget.gridVerticalGrids,
gridUpperStyle: widget.gridUpperStyle,
gridTextStyle: widget.gridTextStyle,
gridlowerStyle: widget.gridlowerStyle,
centralAxisColor: widget.centralAxisColor,
centralAxisStyle: widget.centralAxisStyle,
horizontalTextStyle: widget.horizontalTextStyle,
crossLineColor: widget.crossLineColor,
crossLineWidth: widget.crossLineWidth,
crossTextBgColor: widget.crossTextBgColor,
crossTextBorderColor: widget.crossTextBorderColor,
crossLowerTextStyle: widget.crossLowerTextStyle,
crossUpperTextStyle: widget.crossUpperTextStyle,
onDrawCross: (
index,
alignment,
pressOffset,
) {
if (_crossIndex == index) {
return;
}
_crossIndex = index;
HapticFeedback.selectionClick();
if (widget.onCrossChange == null) {
return;
}
widget.onCrossChange!(index, alignment);
},
maDayColors: widget.maDayColors,
maStrokeWidth: widget.maStrokeWidth);
return painter;
}