| function CVCompElement(data, globalData, comp) { |
| this.completeLayers = false; |
| this.layers = data.layers; |
| this.pendingElements = []; |
| this.elements = createSizedArray(this.layers.length); |
| this.initElement(data, globalData, comp); |
| this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true }; |
| } |
| |
| extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement); |
| |
| CVCompElement.prototype.renderInnerContent = function () { |
| var ctx = this.canvasContext; |
| ctx.beginPath(); |
| ctx.moveTo(0, 0); |
| ctx.lineTo(this.data.w, 0); |
| ctx.lineTo(this.data.w, this.data.h); |
| ctx.lineTo(0, this.data.h); |
| ctx.lineTo(0, 0); |
| ctx.clip(); |
| var i, len = this.layers.length; |
| for (i = len - 1; i >= 0; i -= 1) { |
| if (this.completeLayers || this.elements[i]) { |
| this.elements[i].renderFrame(); |
| } |
| } |
| }; |
| |
| CVCompElement.prototype.destroy = function () { |
| var i, len = this.layers.length; |
| for (i = len - 1; i >= 0; i -= 1) { |
| if (this.elements[i]) { |
| this.elements[i].destroy(); |
| } |
| } |
| this.layers = null; |
| this.elements = null; |
| }; |