SHighlightItem.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.SHighlightItem = void 0;
  4. const lib_1 = require("@persagy-web/draw/lib");
  5. const __1 = require("../..");
  6. const __2 = require("../..");
  7. const lib_2 = require("@persagy-web/graph/lib");
  8. class SHighlightItem extends lib_2.SGraphItem {
  9. constructor(parent) {
  10. super(parent);
  11. this.distance = 0;
  12. this.type = 1;
  13. this._point = new lib_1.SPoint();
  14. this._line = new lib_1.SLine();
  15. this.visible = false;
  16. this.zOrder = __1.ItemOrder.highLightOrder;
  17. }
  18. get point() {
  19. return this._point;
  20. }
  21. set point(v) {
  22. this._point = v;
  23. this.type = 1;
  24. this.update();
  25. }
  26. get line() {
  27. return this._line;
  28. }
  29. set line(v) {
  30. this._line = v;
  31. this.type = 2;
  32. this.update();
  33. }
  34. boundingRect() {
  35. return new lib_1.SRect(this.point.x, this.point.y, 10, 10);
  36. }
  37. onDraw(painter) {
  38. if (this.type == 2) {
  39. painter.pen.color = __2.ItemColor.highLightLineColor;
  40. painter.pen.lineWidth = painter.toPx(6);
  41. painter.drawLine(this.line);
  42. }
  43. painter.pen.color = lib_1.SColor.Transparent;
  44. painter.brush.color = __2.ItemColor.highLightPointColor;
  45. painter.drawCircle(this.point.x, this.point.y, painter.toPx(5));
  46. }
  47. }
  48. exports.SHighlightItem = SHighlightItem;