cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
42 lines (41 loc) • 1.39 kB
JavaScript
import { __extends } from "../../../../tslib/tslib.es6.mjs";
import Path from "../../../../zrender/lib/graphic/Path.mjs";
var PointerShape = function() {
function PointerShape2() {
this.angle = 0;
this.width = 10;
this.r = 10;
this.x = 0;
this.y = 0;
}
return PointerShape2;
}();
var PointerPath = function(_super) {
__extends(PointerPath2, _super);
function PointerPath2(opts) {
var _this = _super.call(this, opts) || this;
_this.type = "pointer";
return _this;
}
PointerPath2.prototype.getDefaultShape = function() {
return new PointerShape();
};
PointerPath2.prototype.buildPath = function(ctx, shape) {
var mathCos = Math.cos;
var mathSin = Math.sin;
var r = shape.r;
var width = shape.width;
var angle = shape.angle;
var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);
var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);
angle = shape.angle - Math.PI / 2;
ctx.moveTo(x, y);
ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);
ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);
ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);
ctx.lineTo(x, y);
};
return PointerPath2;
}(Path);
var PointerPath$1 = PointerPath;
export { PointerPath$1 as default };