UNPKG

1.73 kBJavaScriptView Raw
1import { __extends } from "tslib";
2import Path from './Path.js';
3var CompoundPath = (function (_super) {
4 __extends(CompoundPath, _super);
5 function CompoundPath() {
6 var _this = _super !== null && _super.apply(this, arguments) || this;
7 _this.type = 'compound';
8 return _this;
9 }
10 CompoundPath.prototype._updatePathDirty = function () {
11 var paths = this.shape.paths;
12 var dirtyPath = this.shapeChanged();
13 for (var i = 0; i < paths.length; i++) {
14 dirtyPath = dirtyPath || paths[i].shapeChanged();
15 }
16 if (dirtyPath) {
17 this.dirtyShape();
18 }
19 };
20 CompoundPath.prototype.beforeBrush = function () {
21 this._updatePathDirty();
22 var paths = this.shape.paths || [];
23 var scale = this.getGlobalScale();
24 for (var i = 0; i < paths.length; i++) {
25 if (!paths[i].path) {
26 paths[i].createPathProxy();
27 }
28 paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);
29 }
30 };
31 CompoundPath.prototype.buildPath = function (ctx, shape) {
32 var paths = shape.paths || [];
33 for (var i = 0; i < paths.length; i++) {
34 paths[i].buildPath(ctx, paths[i].shape, true);
35 }
36 };
37 CompoundPath.prototype.afterBrush = function () {
38 var paths = this.shape.paths || [];
39 for (var i = 0; i < paths.length; i++) {
40 paths[i].pathUpdated();
41 }
42 };
43 CompoundPath.prototype.getBoundingRect = function () {
44 this._updatePathDirty.call(this);
45 return Path.prototype.getBoundingRect.call(this);
46 };
47 return CompoundPath;
48}(Path));
49export default CompoundPath;