UNPKG

@belvo-finance/belvo-vue-components

Version:

## Project setup ``` npm install ```

127 lines (118 loc) 4.14 kB
function BaseRenderer(){} BaseRenderer.prototype.checkLayers = function(num){ var i, len = this.layers.length, data; this.completeLayers = true; for (i = len - 1; i >= 0; i--) { if (!this.elements[i]) { data = this.layers[i]; if(data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st)) { this.buildItem(i); } } this.completeLayers = this.elements[i] ? this.completeLayers:false; } this.checkPendingElements(); }; BaseRenderer.prototype.createItem = function(layer){ switch(layer.ty){ case 2: return this.createImage(layer); case 0: return this.createComp(layer); case 1: return this.createSolid(layer); case 3: return this.createNull(layer); case 4: return this.createShape(layer); case 5: return this.createText(layer); case 13: return this.createCamera(layer); } return this.createNull(layer); }; BaseRenderer.prototype.createCamera = function(){ throw new Error('You\'re using a 3d camera. Try the html renderer.'); }; BaseRenderer.prototype.buildAllItems = function(){ var i, len = this.layers.length; for(i=0;i<len;i+=1){ this.buildItem(i); } this.checkPendingElements(); }; BaseRenderer.prototype.includeLayers = function(newLayers){ this.completeLayers = false; var i, len = newLayers.length; var j, jLen = this.layers.length; for(i=0;i<len;i+=1){ j = 0; while(j<jLen){ if(this.layers[j].id == newLayers[i].id){ this.layers[j] = newLayers[i]; break; } j += 1; } } }; BaseRenderer.prototype.setProjectInterface = function(pInterface){ this.globalData.projectInterface = pInterface; }; BaseRenderer.prototype.initItems = function(){ if(!this.globalData.progressiveLoad){ this.buildAllItems(); } }; BaseRenderer.prototype.buildElementParenting = function(element, parentName, hierarchy) { var elements = this.elements; var layers = this.layers; var i=0, len = layers.length; while (i < len) { if (layers[i].ind == parentName) { if (!elements[i] || elements[i] === true) { this.buildItem(i); this.addPendingElement(element); } else { hierarchy.push(elements[i]); elements[i].setAsParent(); if(layers[i].parent !== undefined) { this.buildElementParenting(element, layers[i].parent, hierarchy); } else { element.setHierarchy(hierarchy); } } } i += 1; } }; BaseRenderer.prototype.addPendingElement = function(element){ this.pendingElements.push(element); }; BaseRenderer.prototype.searchExtraCompositions = function(assets){ var i, len = assets.length; for(i=0;i<len;i+=1){ if(assets[i].xt){ var comp = this.createComp(assets[i]); comp.initExpressions(); this.globalData.projectInterface.registerComposition(comp); } } }; BaseRenderer.prototype.setupGlobalData = function(animData, fontsContainer) { this.globalData.fontManager = new FontManager(); this.globalData.fontManager.addChars(animData.chars); this.globalData.fontManager.addFonts(animData.fonts, fontsContainer); this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem); this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem); this.globalData.imageLoader = this.animationItem.imagePreloader; this.globalData.frameId = 0; this.globalData.frameRate = animData.fr; this.globalData.nm = animData.nm; this.globalData.compSize = { w: animData.w, h: animData.h } }