1234567891011121314151617181920212223242526272829 |
- 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;
|