123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import {
- extendPrototype,
- } from '../../utils/functionExtensions';
- import {
- createSizedArray,
- } from '../../utils/helpers/arrays';
- import PropertyFactory from '../../utils/PropertyFactory';
- import CanvasRendererBase from '../../renderers/CanvasRendererBase';
- import CVBaseElement from './CVBaseElement';
- import ICompElement from '../CompElement';
- 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([CanvasRendererBase, 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;
- var 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;
- var 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;
- };
- CVCompElement.prototype.createComp = function (data) {
- return new CVCompElement(data, this.globalData, this);
- };
- export default CVCompElement;
|