UNPKG

@visactor/vrender-animate

Version:

This module provides a graph-based animation system for VRender.

56 lines (55 loc) 2.49 kB
import { AnimationStateManager, AnimationStateStore } from "./animation-state"; export class GraphicStateExtension { _getAnimationStateManager(graphic) { return graphic._animationStateManager || (graphic._animationStateManager = new AnimationStateManager(graphic)), graphic._animationStateManager; } _getAnimationStateStore(graphic) { return graphic._animationStateStore || (graphic._animationStateStore = new AnimationStateStore(graphic)), graphic._animationStateStore; } registerAnimationState(state) { return this._getAnimationStateStore(this).registerState(state), this; } applyAnimationState(state, animationConfig, callback) { return this._getAnimationStateManager(this).applyState(state, animationConfig, callback), this; } applyAppearState(animationConfig, callback) { return this._getAnimationStateManager(this).applyAppearState(animationConfig, callback), this; } applyDisappearState(animationConfig, callback) { return this._getAnimationStateManager(this).applyDisappearState(animationConfig, callback), this; } applyUpdateState(animationConfig, callback) { return this._getAnimationStateManager(this).applyUpdateState(animationConfig, callback), this; } applyHighlightState(animationConfig, callback) { return this._getAnimationStateManager(this).applyHighlightState(animationConfig, callback), this; } applyUnhighlightState(animationConfig, callback) { return this._getAnimationStateManager(this).applyUnhighlightState(animationConfig, callback), this; } stopAnimationState(state, type, deep = !1) { return this._getAnimationStateManager(this).stopState(state, type), deep && this.isContainer && this.forEachChildren((child => { child.stopAnimationState(state, type, deep); })), this; } clearAnimationStates() { return this._getAnimationStateManager(this).clearState(), this; } reApplyAnimationState(state, deep = !1) { return this._getAnimationStateManager(this).reApplyState(state), deep && this.isContainer && this.forEachChildren((child => { child.reApplyAnimationState(state, deep); })), this; } static extend(graphic) { return (new GraphicStateExtension)._getAnimationStateManager(graphic), graphic; } } //# sourceMappingURL=graphic-extension.js.map