UNPKG

@wcardinal/wcardinal-geditor

Version:

WebGL-based graphic editor, tester and viewer for supervisory systems

71 lines 2.87 kB
import { __extends } from "tslib"; import { ESnapperModifierAnchor } from "@wcardinal/wcardinal-ui"; import { Rectangle } from "pixi.js"; var EToolSelectModifierHitArea = /** @class */ (function (_super) { __extends(EToolSelectModifierHitArea, _super); function EToolSelectModifierHitArea(modifier) { var _this = _super.call(this) || this; _this._modifier = modifier; return _this; } EToolSelectModifierHitArea.prototype.contains = function (x, y) { var modifier = this._modifier; var s = modifier.getAnchorSize() * 2; var t = s * 0.5; var w = modifier.width; var h = modifier.height; var p = w * 0.5; var q = h * 0.5; var d = modifier.getAnchorRotationDistance(); var r = modifier.getAnchorRotationSize() * 2; // Top left if (0 - t <= x && 0 - t <= y && x <= 0 - t + s && y <= 0 - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.TOP_LEFT); return true; } // Top right if (w - t <= x && 0 - t <= y && x <= w - t + s && y <= 0 - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.TOP_RIGHT); return true; } // Bottom left if (0 - t <= x && h - t <= y && x <= 0 - t + s && y <= h - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.BOTTOM_LEFT); return true; } // Bottom right if (w - t <= x && h - t <= y && x <= w - t + s && y <= h - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.BOTTOM_RIGHT); return true; } // Top Center if (p - t <= x && 0 - t <= y && x <= p - t + s && y <= 0 - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.TOP_CENTER); return true; } // Middle Right if (w - t <= x && q - t <= y && x <= w - t + s && y <= q - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.MIDDLE_RIGHT); return true; } // Bottom Center if (p - t <= x && h - t <= y && x <= p - t + s && y <= h - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.BOTTOM_CENTER); return true; } // Middle Left if (0 - t <= x && q - t <= y && x <= 0 - t + s && y <= q - t + s) { modifier.setLastHitAnchor(ESnapperModifierAnchor.MIDDLE_LEFT); return true; } // Rotate if (p - r <= x && d - r <= y && x <= p + r && y <= d + r) { modifier.setLastHitAnchor(ESnapperModifierAnchor.ROTATION); return true; } return false; }; return EToolSelectModifierHitArea; }(Rectangle)); export { EToolSelectModifierHitArea }; //# sourceMappingURL=e-tool-select-modifier-hit-area.js.map