| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | var Path = require("./Path");// CompoundPath to improve performancevar _default = Path.extend({  type: 'compound',  shape: {    paths: null  },  _updatePathDirty: function () {    var dirtyPath = this.__dirtyPath;    var paths = this.shape.paths;    for (var i = 0; i < paths.length; i++) {      // Mark as dirty if any subpath is dirty      dirtyPath = dirtyPath || paths[i].__dirtyPath;    }    this.__dirtyPath = dirtyPath;    this.__dirty = this.__dirty || dirtyPath;  },  beforeBrush: function () {    this._updatePathDirty();    var paths = this.shape.paths || [];    var scale = this.getGlobalScale(); // Update path scale    for (var i = 0; i < paths.length; i++) {      if (!paths[i].path) {        paths[i].createPathProxy();      }      paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);    }  },  buildPath: function (ctx, shape) {    var paths = shape.paths || [];    for (var i = 0; i < paths.length; i++) {      paths[i].buildPath(ctx, paths[i].shape, true);    }  },  afterBrush: function () {    var paths = this.shape.paths || [];    for (var i = 0; i < paths.length; i++) {      paths[i].__dirtyPath = false;    }  },  getBoundingRect: function () {    this._updatePathDirty();    return Path.prototype.getBoundingRect.call(this);  }});module.exports = _default;
 |