IconLineShrink class

Shrinks each of the glyph's contours along its long axis by shrink viewBox units (both ends pull in toward the center) and lets it spring back, one at a time in top-to-bottom order. Works well on glyphs with horizontal bars (e.g. a hamburger menu) — each bar briefly shortens in sequence, a clean ripple with no spin.

Each contour is scaled about its own bounding-box center. Rests as the plain icon (restValue 0), so the ripple is an emphasis on tap; reduced-motion shows the static glyph.

Inheritance

Constructors

IconLineShrink({Duration duration = IconMotion.iconPress, double shrink = 10, double span = 0.6})
const

Properties

autoReverse bool
no setterinherited
duration Duration
Play time for one cycle. The widget sizes its controller to this.
final
hashCode int
The hash code for this object.
no setterinherited
loops bool
When true the controller AnimationController.repeats (pair with autoReverse for a ping-pong such as a breathe).
no setterinherited
restValue double
The progress value to show at rest — when autoplay is off, before the first play, and (crucially) under reduced-motion, which renders this single settled frame instead of animating. e.g. 1.0 for a draw-on that should rest fully drawn, 0.0 for a spin that rests front-facing.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shrink double
How much (viewBox px) each contour loses off its length at the peak.
final
span double
Each contour's active window length on the 0..1 timeline; the rest (1 - span) is the one-by-one stagger spread.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
paint(Canvas canvas, Size size, IconGeometry geom, double t, Paint paint) → void
Paint one frame. size is the icon's viewBox space; t is raw 0..1.
override
toString() String
A string representation of this object.
inherited

Operators

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