Skip to content

Instantly share code, notes, and snippets.

@NikolaRusakov
Created August 15, 2022 08:24
Show Gist options
  • Select an option

  • Save NikolaRusakov/1cc754ce01853e9cd18d91da1307b697 to your computer and use it in GitHub Desktop.

Select an option

Save NikolaRusakov/1cc754ce01853e9cd18d91da1307b697 to your computer and use it in GitHub Desktop.
Custom CustomCircleSymbolRenderer charts_flutter
class CustomCircleSymbolRenderer extends charts.CircleSymbolRenderer {
@override
void paint(
charts.ChartCanvas canvas,
Rectangle<num> bounds, {
List<int>? dashPattern,
charts.Color? fillColor,
charts.FillPatternType? fillPattern,
charts.Color? strokeColor,
double? strokeWidthPx,
}) {
super.paint(canvas, bounds,
dashPattern: dashPattern,
fillColor: fillColor,
fillPattern: fillPattern,
strokeColor: strokeColor,
strokeWidthPx: strokeWidthPx);
canvas.drawRect(Rectangle(bounds.left - 5, bounds.top - 0, bounds.width + 10, bounds.height + 10),
fill: charts.Color.black);
canvas.drawText(ChartText(value: 80), (bounds.left).round(), (bounds.top - 28).round());
}
}
class ChartText extends charts.TextElement {
ChartText({required this.value, this.textStyle, this.opacityOverride});
int value;
@override
int? maxWidth;
double? opacityOverride;
@override
charts.MaxWidthStrategy? maxWidthStrategy;
@override
late TextMeasurement measurement;
@override
late charts.TextDirection textDirection;
@override
charts.TextStyle? textStyle;
@override
String get text => value.toString();
@override
set opacity(double? opacity) {
this.opacity = opacityOverride;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment