feat: 第一次上传代码
This commit is contained in:
61
node_modules/lottie-web/player/js/elements/htmlElements/HCompElement.js
generated
vendored
Normal file
61
node_modules/lottie-web/player/js/elements/htmlElements/HCompElement.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import {
|
||||
extendPrototype,
|
||||
} from '../../utils/functionExtensions';
|
||||
import {
|
||||
createSizedArray,
|
||||
} from '../../utils/helpers/arrays';
|
||||
import PropertyFactory from '../../utils/PropertyFactory';
|
||||
import HybridRendererBase from '../../renderers/HybridRendererBase';
|
||||
import HBaseElement from './HBaseElement';
|
||||
import ICompElement from '../CompElement';
|
||||
import SVGCompElement from '../svgElements/SVGCompElement';
|
||||
|
||||
function HCompElement(data, globalData, comp) {
|
||||
this.layers = data.layers;
|
||||
this.supports3d = !data.hasMask;
|
||||
this.completeLayers = false;
|
||||
this.pendingElements = [];
|
||||
this.elements = this.layers ? 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([HybridRendererBase, ICompElement, HBaseElement], HCompElement);
|
||||
HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;
|
||||
|
||||
HCompElement.prototype.createContainerElements = function () {
|
||||
this._createBaseContainerElements();
|
||||
// divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';
|
||||
if (this.data.hasMask) {
|
||||
this.svgElement.setAttribute('width', this.data.w);
|
||||
this.svgElement.setAttribute('height', this.data.h);
|
||||
this.transformedElement = this.baseElement;
|
||||
} else {
|
||||
this.transformedElement = this.layerElement;
|
||||
}
|
||||
};
|
||||
|
||||
HCompElement.prototype.addTo3dContainer = function (elem, pos) {
|
||||
var j = 0;
|
||||
var nextElement;
|
||||
while (j < pos) {
|
||||
if (this.elements[j] && this.elements[j].getBaseElement) {
|
||||
nextElement = this.elements[j].getBaseElement();
|
||||
}
|
||||
j += 1;
|
||||
}
|
||||
if (nextElement) {
|
||||
this.layerElement.insertBefore(elem, nextElement);
|
||||
} else {
|
||||
this.layerElement.appendChild(elem);
|
||||
}
|
||||
};
|
||||
|
||||
HCompElement.prototype.createComp = function (data) {
|
||||
if (!this.supports3d) {
|
||||
return new SVGCompElement(data, this.globalData, this);
|
||||
}
|
||||
return new HCompElement(data, this.globalData, this);
|
||||
};
|
||||
|
||||
export default HCompElement;
|
||||
Reference in New Issue
Block a user