fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 2.27 kB
Source Map (JSON)
{"version":3,"file":"drag.mjs","sources":["../../../src/controls/drag.ts"],"sourcesContent":["import type { TransformActionHandler } from '../EventTypeDefs';\nimport { LEFT, TOP, MOVING } from '../constants';\nimport { fireEvent } from './fireEvent';\nimport { commonEventInfo, isLocked } from './util';\n\n/**\n * Action handler\n * @private\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if the translation occurred\n */\nexport const dragHandler: TransformActionHandler = (\n eventData,\n transform,\n x,\n y,\n) => {\n const { target, offsetX, offsetY } = transform,\n newLeft = x - offsetX,\n newTop = y - offsetY,\n moveX = !isLocked(target, 'lockMovementX') && target.left !== newLeft,\n moveY = !isLocked(target, 'lockMovementY') && target.top !== newTop;\n moveX && target.set(LEFT, newLeft);\n moveY && target.set(TOP, newTop);\n if (moveX || moveY) {\n fireEvent(MOVING, commonEventInfo(eventData, transform, x, y));\n }\n return moveX || moveY;\n};\n"],"names":["dragHandler","eventData","transform","x","y","target","offsetX","offsetY","newLeft","newTop","moveX","isLocked","left","moveY","top","set","LEFT","TOP","fireEvent","MOVING","commonEventInfo"],"mappings":";;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAmC,GAAGA,CACjDC,SAAS,EACTC,SAAS,EACTC,CAAC,EACDC,CAAC,KACE;EACH,MAAM;MAAEC,MAAM;MAAEC,OAAO;AAAEC,MAAAA,OAAAA;AAAQ,KAAC,GAAGL,SAAS;IAC5CM,OAAO,GAAGL,CAAC,GAAGG,OAAO;IACrBG,MAAM,GAAGL,CAAC,GAAGG,OAAO;AACpBG,IAAAA,KAAK,GAAG,CAACC,QAAQ,CAACN,MAAM,EAAE,eAAe,CAAC,IAAIA,MAAM,CAACO,IAAI,KAAKJ,OAAO;AACrEK,IAAAA,KAAK,GAAG,CAACF,QAAQ,CAACN,MAAM,EAAE,eAAe,CAAC,IAAIA,MAAM,CAACS,GAAG,KAAKL,MAAM,CAAA;EACrEC,KAAK,IAAIL,MAAM,CAACU,GAAG,CAACC,IAAI,EAAER,OAAO,CAAC,CAAA;EAClCK,KAAK,IAAIR,MAAM,CAACU,GAAG,CAACE,GAAG,EAAER,MAAM,CAAC,CAAA;EAChC,IAAIC,KAAK,IAAIG,KAAK,EAAE;AAClBK,IAAAA,SAAS,CAACC,MAAM,EAAEC,eAAe,CAACnB,SAAS,EAAEC,SAAS,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAA;AAChE,GAAA;EACA,OAAOM,KAAK,IAAIG,KAAK,CAAA;AACvB;;;;"}