| function BaseElement(){ |
| } |
| |
| BaseElement.prototype = { |
| checkMasks: function(){ |
| if(!this.data.hasMask){ |
| return false; |
| } |
| var i = 0, len = this.data.masksProperties.length; |
| while(i<len) { |
| if((this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false)) { |
| return true; |
| } |
| i += 1; |
| } |
| return false; |
| }, |
| initExpressions: function(){ |
| this.layerInterface = LayerExpressionInterface(this); |
| if(this.data.hasMask && this.maskManager) { |
| this.layerInterface.registerMaskInterface(this.maskManager); |
| } |
| var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface); |
| this.layerInterface.registerEffectsInterface(effectsInterface); |
| |
| if(this.data.ty === 0 || this.data.xt){ |
| this.compInterface = CompExpressionInterface(this); |
| } else if(this.data.ty === 4){ |
| this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface); |
| this.layerInterface.content = this.layerInterface.shapeInterface; |
| } else if(this.data.ty === 5){ |
| this.layerInterface.textInterface = TextExpressionInterface(this); |
| this.layerInterface.text = this.layerInterface.textInterface; |
| } |
| }, |
| setBlendMode: function(){ |
| var blendModeValue = getBlendMode(this.data.bm); |
| var elem = this.baseElement || this.layerElement; |
| |
| elem.style['mix-blend-mode'] = blendModeValue; |
| }, |
| initBaseData: function(data, globalData, comp){ |
| this.globalData = globalData; |
| this.comp = comp; |
| this.data = data; |
| this.layerId = createElementID(); |
| |
| //Stretch factor for old animations missing this property. |
| if(!this.data.sr){ |
| this.data.sr = 1; |
| } |
| // effects manager |
| this.effectsManager = new EffectsManager(this.data,this,this.dynamicProperties); |
| |
| }, |
| getType: function(){ |
| return this.type; |
| } |
| ,sourceRectAtTime: function(){} |
| } |