drawYLabel method Null safety

  1. @override
void drawYLabel(
  1. Canvas canvas,
  2. Size size,
  3. int k
)
override

y축 라벨을 그립니다.

Implementation

@override
void drawYLabel(Canvas canvas, Size size, int k) {
  for (var i = 0; i < yLabelCount; i++) {
    final xCenter = offset.dx;
    double yCenter, yCenterBirthDay;
    final yLabelValue = ((yMaxVal / (yLabelCount - 1)) * i);
    final yLabelPainter = TextPainter(
      text: TextSpan(text: yLabelValue.toStringAsFixed(0), style: TextStyle(color: Colors.black, fontSize: yLabelSize)),
      textDirection: TextDirection.ltr,
      textAlign: TextAlign.center,
    );
    yLabelPainter.layout(minWidth: yLabelWidth, maxWidth: yLabelWidth);
    final yLabelBirthDayPainter = TextPainter(
      text: TextSpan(text: "일령", style: TextStyle(color: Colors.black, fontSize: yLabelSize)),
      textDirection: TextDirection.ltr,
      textAlign: TextAlign.center,
    );
    yLabelBirthDayPainter.layout(minWidth: yLabelWidth, maxWidth: yLabelWidth);

    yCenter = baseOffsetY +
        size.height -
        xLabelHourSize -
        xLabelHourMargin -
        xLabelDaySize -
        xLabelDayMargin -
        xLabelBirthDaySize -
        xLabelBirthDayMargin -
        (horizontalLineHeight / 2) -
        (yLabelSize / 2) -
        (i * ySectionHeight);
    yCenterBirthDay = baseOffsetY + size.height - xLabelBirthDaySize;
    yLabelPainter.paint(canvas, Offset(xCenter, yCenter));

    if (isBiDirectional) {
      yCenter = baseOffsetY +
          size.height -
          xLabelHourSize -
          xLabelHourMargin -
          xLabelDaySize -
          xLabelDayMargin -
          xLabelBirthDaySize -
          xLabelBirthDayMargin -
          (horizontalLineHeight / 2) -
          (yLabelSize / 2) +
          (i * ySectionHeight);
      yCenterBirthDay = baseOffsetY + size.height + xLabelHourSize + xLabelHourMargin + xLabelDaySize + xLabelDayMargin + xLabelBirthDaySize + xLabelBirthDayMargin;
      yLabelPainter.paint(canvas, Offset(xCenter, yCenter));
    }

    if (i == 0) yLabelBirthDayPainter.paint(canvas, Offset(xCenter, yCenterBirthDay));
  }
}