paint method
void
paint(
- PaintingContext context,
- Offset center, {
- required Animation<
double> activationAnimation, - required Animation<
double> enableAnimation, - required bool isDiscrete,
- required TextPainter labelPainter,
- required RenderBox parentBox,
- required AnnotatedSliderThemeData sliderTheme,
- required TextDirection textDirection,
- required double value,
- required double textScaleFactor,
- required Size sizeWithOverflow,
override
Implementation
@override
void paint(
PaintingContext context,
Offset center, {
required Animation<double> activationAnimation,
required Animation<double> enableAnimation,
required bool isDiscrete,
required TextPainter labelPainter,
required RenderBox parentBox,
required AnnotatedSliderThemeData sliderTheme,
required TextDirection textDirection,
required double value,
required double textScaleFactor,
required Size sizeWithOverflow,
}) {
assert(sliderTheme.disabledThumbColor != null);
assert(sliderTheme.thumbColor != null);
assert(sliderTheme.thumbSize != null);
final ColorTween colorTween = ColorTween(
begin: sliderTheme.disabledThumbColor,
end: sliderTheme.thumbColor,
);
final Color color = colorTween.evaluate(enableAnimation)!;
final Canvas canvas = context.canvas;
final Size thumbSize =
sliderTheme.thumbSize!.resolve(
<WidgetState>{},
)!; // This is resolved in the paint method.
final RRect rrect = RRect.fromRectAndRadius(
Rect.fromCenter(
center: center,
width: thumbSize.width,
height: thumbSize.height,
),
Radius.circular(thumbSize.shortestSide / 2),
);
canvas.drawRRect(rrect, Paint()..color = color);
}