blob: c423dd5bdb7eb82b2fe26049792f513bc686d445 [file] [log] [blame]
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;
};