hyper_effects library

Composable effects, spring animations, and keyframe timelines for Flutter.

Classes

AlignEffect
An effect that aligns a Widget by a given alignment, optionally sizing it to a factor of its child.
AllSymbolsTapeStrategy
Constructs symbol tapes that contain all the characters that are contained between two strings in alphabetical order.
AnimatedEffect
A widget that animates the effects applied to it's child.
AnimatedEffectState
The state of AnimatedEffect.
BlurEffect
An effect that applies a blur effect to its child.
CharacterTapeBuilder
A builder that constructs a tape of characters tailored for a specific condition of characters such as emojis.
ClipEffect
An Effect that applies an clip to a Widget.
ColorFilterEffect
An Effect that applies an opacity to a Widget.
ColorFilterMatrix
A set of predefined color filter matrices.
ConsistentSymbolTapeStrategy
Constructs symbol tapes that contain all the characters that are contained between two strings in alphabetical order up to the given distance.
CupertinoMotion
Springs described the way iOS describes them: a perceptual duration and a bounce amount, rather than raw mass/stiffness/damping.
CurvedMotion
The classic deterministic motion: a fixed duration eased by a curve.
Effect
An Effect that can be applied to a Widget. This is the base class for all effects.
EffectQuery
An inherited widget that provides the animation value to it's descendants.
EffectWidget
A widget that applies given Effect to a Widget. This widget is hardly used directly. Instead, use the extension methods provided by the effects to apply them to a Widget.
HyperEffectsAnimationConfig
Provides a way to configure the animation behavior globally for a subtree.
LinearMotion
A convenience class for a CurvedMotion that uses a linear curve.
MaterialSpringMotion
The Material Design 3 expressive spring tokens, as plain physics.
Motion
How an animation moves: the single timing object behind animate, immediate, and timeline steps.
NoMotion
A motion that never moves: it holds the starting value for duration and never reaches its target. Useful as an explicit "do not animate" placeholder.
OpacityEffect
An Effect that applies an opacity to a Widget.
PaddingEffect
An effect that insets a Widget by a given padding.
PointerTransition
A widget that applies a set of effects to its child based on the current position of the pointer device.
PointerTransitionEvent
Represents the pointer event for PointerTransition.
PostFrame
A widget that doesn't render first frame.
ResetAllAnimationsEffect
Provides the functionality to reset all animations in its child widget tree. This is particularly useful when you want to reset a series of chained animations to their initial state.
ResetAllAnimationsEffectState
The state of ResetAllAnimationsEffect.
RollEffect
An Effect that applies a roll animation to a Widget with the given slideInDirection, slideOutDirection and multiplier.
RollingEffectWidget
A StatefulWidget that applies a roll animation to a Widget.
RollingText
A StatefulWidget that provides a rolling text effect.
RollingTextEffect
Rolls each character with a tape of characters individually to form the newText from the oldText.
RotationEffect
An Effect that applies a rotation to a Widget.
ScaleEffect
An Effect that applies a scale to a Widget.
ScrollTransition
A widget that applies a set of effects to its child based on the current phase and position of the scroll position of the parent scrollable widget.
ScrollTransitionEvent
Represents the scroll event for ScrollTransition.
ShakeEffect
A Effect that applies a shaking motion to a Widget.
SizeEffect
An effect that constrains a Widget to an explicit width and/or height via a SizedBox.
SkewEffect
An Effect that applies a skew to a Widget.
SpringMotion
A motion driven by damped spring physics.
SymbolTapeStrategy
Defines the strategy to create the tape of character symbols to interpolate to and from.
TimelineController
An external handle for driving a TimelineEffect imperatively.
TimelineEffect
A widget that drives a compiled TimelineSpec with a single AnimationController.
TimelineEffectState
The state of a TimelineEffect.
TimelineSegment
One segment of a compiled timeline: the transition between two adjacent keyframes.
TimelineSpec
A compiled timeline: an ordered list of TimelineSegments and the per-effect-type TimelineTracks that animate across them, all driven by a single animation value.
TimelineStep
A marker widget that splits a timeline chain into segments.
TimelineTrack
The keyframe values of a single effect type across an entire timeline.
TransformEffect
An Effect that applies a transform to a Widget.
TranslateEffect
An effect that translates a Widget by a given offset.
TrimmedMotion
A window onto another motion: plays only the fromStart..(1 - fromEnd) portion of parent's characteristic curve, renormalized to 0..1.

Enums

AnimationStartState
Determines the behavior of the AnimatedEffect as soon as it is added to the widget tree.
ScrollPhase
Defines the state of an object in the context of its associated scroll view. This mainly indicates whether the object is visible in the scroll view or is either leaving or entering the scroll view.
TextTapeSlideDirection
Determines the direction in which each tape of characters will slide in the RollingTextEffect.

Mixins

VectorEffect<T extends Effect>
Vector arithmetic over an effect's animatable values, in the style of SwiftUI's VectorArithmetic.

Extensions

AlignEffectExt on Widget
Provides a extension method to apply an AlignEffect to a Widget.
AnimatedEffectExt on Widget?
Provides extension methods for Widget to animate it's appearance.
BlurEffectExt on Widget
Provides extension methods for Widget to apply blur effects.
BuildContextExtension on BuildContext
Extension methods for BuildContext.
ClipEffectExtension on Widget
Provides a extension method to apply an ClipEffect to a Widget.
ColorFilterEffectExtension on Widget
Provides a extension method to apply an ColorFilterEffect to a Widget.
DoubleHelper on double?
Extension methods for double.
MotionTrimming on Motion
Windowing helpers that carve a TrimmedMotion out of any motion.
OpacityEffectExtension on Widget
Provides a extension method to apply an OpacityEffect to a Widget.
PaddingEffectExt on Widget
Provides a extension method to apply an PaddingEffect to a Widget.
PointerTransitionExt on Widget
Provides extension methods for Widget to apply scroll transition effects.
RollEffectExtension on Widget?
Provides a extension method to apply an RollEffect to a Widget.
RotationEffectExt on Widget
Provides a extension method to apply a RotationEffect to a Widget.
ScaleEffectExt on Widget
Provides a extension method to apply a ScaleEffect to a Widget.
ScrollPositionExt on ScrollPosition
Extension methods for ScrollPosition.
ScrollTransitionExt on Widget
Provides extension methods for Widget to apply scroll transition effects.
ShakeEffectExt on Widget
Provides a extension method to apply a ShakeEffect to a Widget.
SizeEffectExt on Widget
Provides extension methods to apply a SizeEffect to a Widget.
SkewEffectExt on Widget
Provides a extension method to apply a SkewEffect to a Widget.
TextEffectExt on Text
Provides a extension method to apply a RollingTextEffect to a Widget.
TimelineChainExt on Widget
Provides the chain methods that build up a timeline declaration.
TimelineEffectExt on Widget
Provides the entry point that turns a declarative effect/step chain into a running timeline.
TransformEffectExt on Widget
Provides a extension method to apply a TransformEffect to a Widget.
TranslateEffectExt on Widget
Provides a extension method to apply a TranslateEffect to a Widget.

Constants

appleEaseIn → const Cubic
A cubic Bézier curve that replicates Apple's easeIn curve. Ref: https://developer.apple.com/documentation/quartzcore/camediatimingfunctionname/1521971-easein
appleEaseInOut → const Cubic
A cubic Bézier curve that replicates Apple's easeInOut curve. Ref: https://developer.apple.com/documentation/quartzcore/camediatimingfunctionname/1522173-easeineaseout
appleEaseOut → const Cubic
A cubic Bézier curve that replicates Apple's easeOut curve. Ref: https://developer.apple.com/documentation/quartzcore/camediatimingfunctionname/1522178-easeout

Typedefs

BooleanCallback = bool Function()
A callback that returns whether an animation should be allowed to follow through with its animation or be skipped completely, even when explicitly triggered.
PointerTransitionBuilder = Widget Function(BuildContext context, Widget widget, PointerTransitionEvent event)
A function that builds a widget based on the current position of the pointer device.
RollBuilder = Widget Function(BuildContext context, Widget child)
A builder that takes a BuildContext and a Widget and returns a Widget.
ScrollTransitionBuilder = Widget Function(BuildContext context, Widget widget, ScrollTransitionEvent event)
A function that builds a widget based on the current phase of the scroll animation.