drawXAxisValue static method
void
drawXAxisValue(
- Canvas c,
- String text,
- double? x,
- double y,
- TextPainter paint,
- MPPointF anchor,
- double angleDegrees,
- XAxisPosition position,
Implementation
static void drawXAxisValue(
Canvas c,
String text,
double? x,
double y,
TextPainter paint,
MPPointF anchor,
double angleDegrees,
XAxisPosition position) {
double drawOffsetX = 0;
double drawOffsetY = 0;
var originalTextAlign = paint.textAlign;
paint.textAlign = TextAlign.left;
if (angleDegrees != 0) {
double translateX = x!;
double translateY = y;
c.save();
c.translate(translateX, translateY);
c.rotate(angleDegrees);
paint.text = TextSpan(text: text, style: paint.text!.style);
paint.layout();
switch (position) {
case XAxisPosition.bottom:
paint.paint(c, Offset(drawOffsetX, drawOffsetY));
break;
case XAxisPosition.bottomInside:
paint.paint(c, Offset(drawOffsetX, drawOffsetY));
break;
case XAxisPosition.top:
paint.paint(c, Offset(drawOffsetX, drawOffsetY));
break;
case XAxisPosition.topInside:
paint.paint(c, Offset(drawOffsetX, drawOffsetY));
break;
case XAxisPosition.bothSided:
break;
}
c.restore();
} else {
drawOffsetX += x!;
drawOffsetY += y;
paint.text = TextSpan(text: text, style: paint.text!.style);
paint.layout();
switch (position) {
case XAxisPosition.bottom:
paint.paint(c, Offset(drawOffsetX - paint.width / 2, drawOffsetY));
break;
case XAxisPosition.bottomInside:
paint.paint(
c,
Offset(
drawOffsetX - paint.width / 2, drawOffsetY - paint.height));
break;
case XAxisPosition.top:
paint.paint(
c,
Offset(
drawOffsetX - paint.width / 2, drawOffsetY - paint.height));
break;
case XAxisPosition.topInside:
paint.paint(c, Offset(drawOffsetX - paint.width / 2, drawOffsetY));
break;
case XAxisPosition.bothSided:
break;
}
}
paint.textAlign = originalTextAlign;
}