SignalPainterWidget#
Kind:
class |
Package: package:signals_flutter
Class: SignalPainterWidget#
A high-performance, leaf render-object widget driven by a double progress signal.
SignalPainterWidget bypasses the entire widget build and layout phases, subscribing
directly to a progress signal and rendering on the canvas. When progress
updates,
only the GPU paint phase is run.
Example#
final progress = signal(0.0);
@override
Widget build(BuildContext context) {
return SignalPainterWidget(
progress: progress,
painter: (canvas, size, value) {
final paint = Paint()
..color = Colors.blue
..style = PaintingStyle.stroke
..strokeWidth = 4.0;
canvas.drawCircle(
Offset(size.width / 2, size.height / 2),
value * 50.0,
paint,
);
},
);
}
Members of SignalPainterWidget#
| Member | Type | Signature | Description |
|---|---|---|---|
| progress | field |
dart core.ReadonlySignal |
The progress signal whose value will be passed to painter. |
| painter | field |
dart void Function(Canvas canvas, Size size, double value) painter |
The custom painting callback function. |
| SignalPainterWidget | constructor |
dart SignalPainterWidget({super.key, required this.progress, required this.painter}) |
Creates a new SignalPainterWidget. |
| createRenderObject | method |
dart RenderSignalBox createRenderObject(BuildContext context) |
|
| updateRenderObject | method |
dart void updateRenderObject(BuildContext context, RenderSignalBox renderObject) |
References#
The SignalPainterWidget type is referenced and used in the following pages:
- RenderSignalBox (signals_flutter/render)
- signals_flutter
- SignalPainterWidget (signals_flutter/widgets)
- RenderSignalBox (signals/render)
- signals
- SignalPainterWidget (signals/widgets)