import { extendPrototype, } from '../utils/functionExtensions'; import HybridRendererBase from './HybridRendererBase'; import HCompElement from '../elements/htmlElements/HCompElement'; import SVGCompElement from '../elements/svgElements/SVGCompElement'; function HybridRenderer(animationItem, config) { this.animationItem = animationItem; this.layers = null; this.renderedFrame = -1; this.renderConfig = { className: (config && config.className) || '', imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice', hideOnTransparent: !(config && config.hideOnTransparent === false), filterSize: { width: (config && config.filterSize && config.filterSize.width) || '400%', height: (config && config.filterSize && config.filterSize.height) || '400%', x: (config && config.filterSize && config.filterSize.x) || '-100%', y: (config && config.filterSize && config.filterSize.y) || '-100%', }, runExpressions: !config || config.runExpressions === undefined || config.runExpressions, }; this.globalData = { _mdf: false, frameNum: -1, renderConfig: this.renderConfig, }; this.pendingElements = []; this.elements = []; this.threeDElements = []; this.destroyed = false; this.camera = null; this.supports3d = true; this.rendererType = 'html'; } extendPrototype([HybridRendererBase], HybridRenderer); HybridRenderer.prototype.createComp = function (data) { if (!this.supports3d) { return new SVGCompElement(data, this.globalData, this); } return new HCompElement(data, this.globalData, this); }; export default HybridRenderer;