import type { AnimatedImage, CanvasKit } from "canvaskit-wasm"; import type { SkAnimatedImage } from "../types/AnimatedImage"; import { HostObject } from "./Host"; import { JsiSkImage } from "./JsiSkImage"; export class JsiSkAnimatedImage extends HostObject implements SkAnimatedImage { constructor(CanvasKit: CanvasKit, ref: AnimatedImage) { super(CanvasKit, ref, "AnimatedImage"); } decodeNextFrame() { return this.ref.decodeNextFrame(); } currentFrameDuration() { return this.ref.currentFrameDuration(); } getFrameCount() { return this.ref.getFrameCount(); } getCurrentFrame() { const image = this.ref.makeImageAtCurrentFrame(); if (image === null) { return null; } return new JsiSkImage(this.CanvasKit, image); } }