ohctechv3/.svn/pristine/31/316d82ea3d5f85bf5fd9144d7a37578034c81f3a.svn-base

30 lines
708 B
Plaintext
Raw Normal View History

2024-10-28 15:03:36 +05:30
import {
createSizedArray,
} from '../helpers/arrays';
import shapePool from '../pooling/shape_pool';
function ShapeCollection() {
this._length = 0;
this._maxLength = 4;
this.shapes = createSizedArray(this._maxLength);
}
ShapeCollection.prototype.addShape = function (shapeData) {
if (this._length === this._maxLength) {
this.shapes = this.shapes.concat(createSizedArray(this._maxLength));
this._maxLength *= 2;
}
this.shapes[this._length] = shapeData;
this._length += 1;
};
ShapeCollection.prototype.releaseShapes = function () {
var i;
for (i = 0; i < this._length; i += 1) {
shapePool.release(this.shapes[i]);
}
this._length = 0;
};
export default ShapeCollection;