first commit
This commit is contained in:
44
node_modules/lottie-web/player/js/utils/pooling/shape_pool.js
generated
vendored
Normal file
44
node_modules/lottie-web/player/js/utils/pooling/shape_pool.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import poolFactory from './pool_factory';
|
||||
import pointPool from './point_pool';
|
||||
import ShapePath from '../shapes/ShapePath';
|
||||
|
||||
const shapePool = (function () {
|
||||
function create() {
|
||||
return new ShapePath();
|
||||
}
|
||||
|
||||
function release(shapePath) {
|
||||
var len = shapePath._length;
|
||||
var i;
|
||||
for (i = 0; i < len; i += 1) {
|
||||
pointPool.release(shapePath.v[i]);
|
||||
pointPool.release(shapePath.i[i]);
|
||||
pointPool.release(shapePath.o[i]);
|
||||
shapePath.v[i] = null;
|
||||
shapePath.i[i] = null;
|
||||
shapePath.o[i] = null;
|
||||
}
|
||||
shapePath._length = 0;
|
||||
shapePath.c = false;
|
||||
}
|
||||
|
||||
function clone(shape) {
|
||||
var cloned = factory.newElement();
|
||||
var i;
|
||||
var len = shape._length === undefined ? shape.v.length : shape._length;
|
||||
cloned.setLength(len);
|
||||
cloned.c = shape.c;
|
||||
|
||||
for (i = 0; i < len; i += 1) {
|
||||
cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);
|
||||
}
|
||||
return cloned;
|
||||
}
|
||||
|
||||
var factory = poolFactory(4, create, release);
|
||||
factory.clone = clone;
|
||||
|
||||
return factory;
|
||||
}());
|
||||
|
||||
export default shapePool;
|
Reference in New Issue
Block a user