blob: f5af7aa68a070b434a6b6fbec77ac2830fef7445 [file] [log] [blame]
function CVShapeElement(data, renderer){
this.shapes = [];
this.parent.constructor.call(this,data, renderer);
}
createElement(CVBaseElement, CVShapeElement);
CVShapeElement.prototype.createElements = function(){
this.parent.createElements.call(this);
var i, len = this.data.shapes.length;
var shapeItem;
for(i=len-1;i>=0;i--){
if(this.data.trim){
this.data.shapes[i].trim = this.data.trim;
}
shapeItem = new CVShapeItemElement(this.data.shapes[i], this.renderer);
this.shapes.push(shapeItem);
}
};
CVShapeElement.prototype.prepareFrame = function(num){
var renderParent = this.parent.prepareFrame.call(this,num);
if(renderParent===false){
return;
}
var i,len = this.data.shapes.length;
for(i=len-1;i>=0;i--){
this.shapes[len - 1 - i].prepareFrame(num);
}
};
CVShapeElement.prototype.draw = function(){
this.renderer.canvasContext.save();
if(this.parent.draw.call(this, false)===false){
this.renderer.canvasContext.restore();
return;
}
this.drawShapes();
this.renderer.canvasContext.restore();
};
CVShapeElement.prototype.drawShapes = function(){
var i,len = this.data.shapes.length;
for(i=len-1;i>=0;i--){
this.shapes[len - 1 - i].renderShape();
}
};