BarChartPainter class

Custom painter for rendering the bar chart on a canvas.

This painter handles all drawing operations including:

  • Bars with colors
  • Title text
  • Sector labels with background
  • Legend entries
  • Connecting lines
  • Touch detection for interactive elements
Inheritance

Constructors

BarChartPainter(List<DataItem> dataset, BuildContext context, {String title = '', bool showTitle = true, bool showLabels = true, bool showLegend = true, bool showLines = true, required Function onTap})
Creates a BarChartPainter.

Properties

context BuildContext
The build context used for theme and text styling.
final
dataset List<DataItem>
The data items to render.
final
hashCode int
The hash code for this object.
no setterinherited
onTap Function
Callback for sector tap events.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
semanticsBuilder SemanticsBuilderCallback?
Returns a function that builds semantic information for the picture drawn by this painter.
no setterinherited
showLabels bool
Whether to show sector labels.
final
showLegend bool
Whether to show the legend.
final
showLines bool
Whether to show connecting lines.
final
showTitle bool
Whether to show the title.
final
title String
The chart title.
final

Methods

addListener(VoidCallback listener) → void
Register a closure to be notified when it is time to repaint.
inherited
drawBars(TouchyCanvas touchyCanvas, Paint paint, Size size, double barWidth, double maxHeight, List<DataItem> dataset, DataItem greaterDataset) → void
Draws a single bar of the chart.
drawLabel(Canvas canvas, Size size, double barWidth, double maxHeight, List<DataItem> dataset, DataItem greaterDataset) → void
Draws a label for a bar with a rounded background box.
drawLegend(Canvas canvas, Size size, List<DataItem> dataset) → void
Draws a legend entry showing the item name, value, and percentage.
drawLines(Canvas canvas, Size size, double maxHeight) → void
Draw lines in X scale
drawTitle(Canvas canvas, Size size) → void
Draws the chart title at the top.
hitTest(Offset position) bool?
Called whenever a hit test is being performed on an object that is using this custom paint delegate.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paint(Canvas canvas, Size size) → void
Called whenever the object needs to paint. The given Canvas has its coordinate space configured such that the origin is at the top left of the box. The area of the box is the size of the size argument.
override
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies when it is time to repaint.
inherited
shouldRebuildSemantics(covariant CustomPainter oldDelegate) bool
Called whenever a new instance of the custom painter delegate class is provided to the RenderCustomPaint object, or any time that a new CustomPaint object is created with a new instance of the custom painter delegate class (which amounts to the same thing, because the latter is implemented in terms of the former).
inherited
shouldRepaint(covariant CustomPainter oldDelegate) bool
Called whenever a new instance of the custom painter delegate class is provided to the RenderCustomPaint object, or any time that a new CustomPaint object is created with a new instance of the custom painter delegate class (which amounts to the same thing, because the latter is implemented in terms of the former).
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited