@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
JavaScript
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