first commit
This commit is contained in:
57
node_modules/lottie-web/player/js/elements/canvasElements/CVCompElement.js
generated
vendored
Normal file
57
node_modules/lottie-web/player/js/elements/canvasElements/CVCompElement.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
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;
|
Reference in New Issue
Block a user