UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

52 lines 2.52 kB
import { Cursor } from "../../../Utils/Common"; import { PlaceholderItemHandler } from "../../../ItemHandlers/PlaceholderItemHandler"; var CSS_CURSORS = ["default", "nw-resize", "ne-resize", "sw-resize", "se-resize", "n-resize", "s-resize", "w-resize", "e-resize", "move", "crosshair", "pointer", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "text", "grab", "grabbing"]; var DefaultCursorHelper = /** @class */ (function () { function DefaultCursorHelper() { } DefaultCursorHelper.getCursor = function (point, selectionHtManager, hitTestManager, rubberbandHandler, angle, allowMove) { var _a; if (rubberbandHandler.isActive) return Cursor.defaultCursor; var ht = selectionHtManager.hitTest(point); if (ht.resize) { var resizePointAngle = [315, 45, 135, 225, 270, 0, 90, 180]; var fullAngle = ((_a = resizePointAngle[ht.resizeIndex - 1] + angle) !== null && _a !== void 0 ? _a : 0) % 360; if (fullAngle > 337.5 || fullAngle <= 22.5) return Cursor.sizeNS; else if (fullAngle > 22.5 && fullAngle <= 67.5) return Cursor.sizeNESW; else if (fullAngle > 67.5 && fullAngle <= 112.5) return Cursor.sizeEW; else if (fullAngle > 112.5 && fullAngle <= 157.5) return Cursor.sizeNWSE; else if (fullAngle > 157.5 && fullAngle <= 202.5) return Cursor.sizeNS; else if (fullAngle > 202.5 && fullAngle <= 247.5) return Cursor.sizeNESW; else if (fullAngle > 247.5 && fullAngle <= 292.5) return Cursor.sizeEW; else if (fullAngle > 292.5 && fullAngle <= 337.5) return Cursor.sizeNWSE; } else if (ht.rotate) return Cursor.pointer; else if (ht.body && allowMove) return Cursor.move; var firstHandler = hitTestManager.getFirstHandlerByHitTest(point); if (firstHandler instanceof PlaceholderItemHandler && firstHandler.editing) return Cursor.defaultCursor; else if (firstHandler != null) return Cursor.pointer; return Cursor.defaultCursor; }; DefaultCursorHelper.toCss = function (cursor) { return CSS_CURSORS[cursor]; }; return DefaultCursorHelper; }()); export { DefaultCursorHelper }; //# sourceMappingURL=DefaultCursorHandler.js.map