ExpressiveShapeGeometry class

A reusable pairing of a border and its precomputed content interiors.

Keep this object while endpoints stay unchanged. Morph matching happens once, not on animation ticks. No assets, asynchronous loading, or runtime geometric searches are needed. Only the catalog's unrotated, unit-coordinate borders are supported; do not apply these interiors to another border transform.

Properties

from → MaterialExpressiveShape?
final
hashCode → int
The hash code for this object.
no setterinherited
preferredCenter → Offset
Optical content center in the same bounds-centered unit coordinates as safeRects. Content remains fixed here and scales down when needed.
latefinal
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
safeRects → List<Rect>
Rectangles safe at catalog endpoints, not necessarily during transitions. After mid-morph retargeting, only the destination is certified safe. Intersecting endpoint rectangles is safe; interpolating/unioning is not.
latefinal
to → MaterialExpressiveShape
final

Methods

border({double progress = 1, bool stretch = false}) → BoundsCenteredBorder
Centers the scaled path's bounds like Compose's toShape adapter. stretch permits nonuniform scaling; false preserves proportions.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
retarget(MaterialExpressiveShape target, {required double progress}) → ExpressiveShapeGeometry
Redirect from the current outline, not the previous target. Settled endpoints keep their original polygon features. An interrupted frame has no catalog corner metadata: preserve its exact cubics as ignorable edge features and let Morph use its perimeter-based fallback correspondence. This preserves position, not animation velocity. It neither samples nor normalizes the outline and retains no chain of previous animations.
toString() → String
A string representation of this object.
inherited

Operators

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