ShaderNetworkPainter class
A CustomPainter that delegates all rendering to a FragmentShader.
Every frame the painter writes particle positions and colours into the shader's uniform buffer, then issues a single Canvas.drawRect covering the full widget area. The GPU resolves every pixel in parallel.
- Inheritance
-
- Object
- Listenable
- CustomPainter
- ShaderNetworkPainter
Constructors
-
ShaderNetworkPainter({required FragmentShader shader, required List<
Particle> particles, required Offset? touchPoint, required double lineDistance, required Color particleColor, required Color lineColor, required Color touchColor, required bool touchActivation, required double lineWidth, required bool drawNetwork, required double time, double glowIntensity = 0.3}) -
const
Properties
- drawNetwork → bool
-
When false, line rendering is skipped (lineDistance set to 0 in shader).
final
- glowIntensity → double
-
Intensity of the radial glow surrounding each particle (0–1).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- lineColor → Color
-
Colour for connection lines.
final
- lineDistance → double
-
Maximum distance for drawing connection lines.
final
- lineWidth → double
-
Width of connection / touch lines (pixels).
final
- particleColor → Color
-
Base colour for particles.
final
-
particles
→ List<
Particle> -
Snapshot of particle state for this frame.
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
- shader → FragmentShader
-
The compiled + instantiated fragment shader (one per paint, no recreation).
final
- time → double
-
Seconds elapsed since animation start (drives pulse & ripple timings).
final
- touchActivation → bool
-
Whether touch interaction effects are enabled.
final
- touchColor → Color
-
Colour for touch lines and the ripple ring.
final
- touchPoint → Offset?
-
Current touch / cursor position, or Offset.infinite when inactive.
final
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be notified when it is time to repaint.
inherited
-
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
sizeargument.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 ShaderNetworkPainter old) → 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