SWindowItem.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.SWindowItem = 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 SWindowItem extends lib_2.SGraphItem {
  9. constructor(parent, data) {
  10. super(parent);
  11. this.pointArr = [];
  12. this.minX = Number.MAX_SAFE_INTEGER;
  13. this.maxX = Number.MIN_SAFE_INTEGER;
  14. this.minY = Number.MAX_SAFE_INTEGER;
  15. this.maxY = Number.MIN_SAFE_INTEGER;
  16. this.data = data;
  17. this.zOrder = __1.ItemOrder.windowOrder;
  18. if (this.data.OutLine.length) {
  19. this.pointArr = this.data.OutLine[0].map((t) => {
  20. let x = t.X, y = -t.Y;
  21. if (x < this.minX) {
  22. this.minX = x;
  23. }
  24. if (y < this.minY) {
  25. this.minY = y;
  26. }
  27. if (x > this.maxX) {
  28. this.maxX = x;
  29. }
  30. if (y > this.maxY) {
  31. this.maxY = y;
  32. }
  33. return new lib_1.SPoint(t.X, -t.Y);
  34. });
  35. }
  36. }
  37. boundingRect() {
  38. return new lib_1.SRect(this.minX, this.minY, this.maxX - this.minX, this.maxY - this.minY);
  39. }
  40. onDraw(painter) {
  41. painter.pen.color = __2.ItemColor.windowColor;
  42. painter.pen.lineWidth = painter.toPx(1);
  43. painter.drawPolyline(this.pointArr);
  44. }
  45. }
  46. exports.SWindowItem = SWindowItem;