line.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var tslib_1 = require("tslib");
  4. var util_1 = require("../util/util");
  5. var base_1 = require("./base");
  6. var LineCrosshair = /** @class */ (function (_super) {
  7. tslib_1.__extends(LineCrosshair, _super);
  8. function LineCrosshair() {
  9. return _super !== null && _super.apply(this, arguments) || this;
  10. }
  11. LineCrosshair.prototype.getDefaultCfg = function () {
  12. var cfg = _super.prototype.getDefaultCfg.call(this);
  13. return tslib_1.__assign(tslib_1.__assign({}, cfg), { type: 'line', locationType: 'region', start: null, end: null });
  14. };
  15. // 直线的文本需要同直线垂直
  16. LineCrosshair.prototype.getRotateAngle = function () {
  17. var _a = this.getLocation(), start = _a.start, end = _a.end;
  18. var position = this.get('text').position;
  19. var angle = Math.atan2(end.y - start.y, end.x - start.x);
  20. var tangentAngle = position === 'start' ? angle - Math.PI / 2 : angle + Math.PI / 2;
  21. return tangentAngle;
  22. };
  23. LineCrosshair.prototype.getTextPoint = function () {
  24. var _a = this.getLocation(), start = _a.start, end = _a.end;
  25. var _b = this.get('text'), position = _b.position, offset = _b.offset;
  26. return util_1.getTextPoint(start, end, position, offset);
  27. };
  28. LineCrosshair.prototype.getLinePath = function () {
  29. var _a = this.getLocation(), start = _a.start, end = _a.end;
  30. return [
  31. ['M', start.x, start.y],
  32. ['L', end.x, end.y],
  33. ];
  34. };
  35. return LineCrosshair;
  36. }(base_1.default));
  37. exports.default = LineCrosshair;
  38. //# sourceMappingURL=line.js.map