drawRadarXAxisValue static method
void
drawRadarXAxisValue(
- Canvas c,
- String text,
- double? x,
- double y,
- TextPainter paint,
- MPPointF anchor,
- double angleDegrees,
- XAxisPosition position,
Implementation
static void drawRadarXAxisValue(
Canvas c,
String text,
double? x,
double y,
TextPainter paint,
MPPointF anchor,
double angleDegrees,
XAxisPosition position) {
var originalTextAlign = paint.textAlign;
paint.textAlign = TextAlign.left;
double drawOffsetX = 0;
double drawOffsetY = 0;
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();
paint.paint(c, Offset(drawOffsetX - paint.width / 2, drawOffsetY));
}
paint.textAlign = originalTextAlign;
}