ThorvgController class
Method-channel-backed controller for one Lottie animation rendered into
a Flutter Texture(textureId).
Replaces the legacy dart:ffi-driven Thorvg class for jank-sensitive
callers. All rasterization happens on a native producer thread (per-texture
HandlerThread on Android, DispatchQueue on iOS); the Flutter UI isolate
only sends control messages — play, pause, seek, resize, dispose.
The controller is created via ThorvgController.create. It owns the
native handle and the registered SurfaceTextureEntry / FlutterTexture
behind textureId. Pass that id to a Texture(textureId: …) widget to
display the output.
Properties
- duration → double
-
Animation length in seconds.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDisposed → bool
-
True after dispose has been called or the underlying texture has been
torn down by the engine. Subsequent calls become no-ops.
no setter
- lottieHeight → int
-
final
- lottieWidth → int
-
Native lottie composition size (from Lottie JSON
w/h).final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- textureId → int
-
Texture id to pass to a
Texturewidget.final - totalFrame → double
-
Animation length in frames; 0 for static lottie.
final
Methods
-
dispose(
) → Future< void> -
Releases the native handle, the SurfaceTexture/CVPixelBuffer pool, and
the per-instance render thread. Must be called from the consuming
widget's
dispose. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pause(
) → Future< void> -
Pauses the animation; the texture keeps its last rendered frame.
Combine with
VisibilityDetectorto free CPU for off-screen items. -
play(
) → Future< void> - Resumes (or starts) the animation. Idempotent.
-
resize(
int width, int height) → Future< void> - Reallocates the native rasterization buffer to the new dimensions and renders the current frame at the new resolution.
-
seek(
double frame) → Future< void> -
Seeks to
frame(a value between 0 and totalFrame) and pauses. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited