UNPKG

lottie-web

Version:

After Effects plugin for exporting animations to SVG + JavaScript or canvas + JavaScript

73 lines (69 loc) 2.14 kB
import { extendPrototype, createProxyFunction, } from '../../utils/functionExtensions'; import RenderableElement from './RenderableElement'; function RenderableDOMElement() {} (function () { var _prototype = { initElement: function (data, globalData, comp) { this.initFrame(); this.initBaseData(data, globalData, comp); this.initTransform(data, globalData, comp); this.initHierarchy(); this.initRenderable(); this.initRendererElement(); this.createContainerElements(); this.createRenderableComponents(); this.createContent(); this.hide(); }, hide: function () { // console.log('HIDE', this); if (!this.hidden && (!this.isInRange || this.isTransparent)) { var elem = this.baseElement || this.layerElement; elem.style.display = 'none'; this.hidden = true; } }, show: function () { // console.log('SHOW', this); if (this.isInRange && !this.isTransparent) { if (!this.data.hd) { var elem = this.baseElement || this.layerElement; elem.style.display = 'block'; } this.hidden = false; this._isFirstFrame = true; } }, renderFrame: function () { // If it is exported as hidden (data.hd === true) no need to render // If it is not visible no need to render if (this.data.hd || this.hidden) { return; } this.renderTransform(); this.renderRenderable(); this.renderLocalTransform(); this.renderElement(); this.renderInnerContent(); if (this._isFirstFrame) { this._isFirstFrame = false; } }, renderInnerContent: function () {}, prepareFrame: function (num) { this._mdf = false; this.prepareRenderableFrame(num); this.prepareProperties(num, this.isInRange); this.checkTransparency(); }, destroy: function () { this.innerElem = null; this.destroyBaseElement(); }, }; extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement); }()); export default RenderableDOMElement;