fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 2.67 kB
Source Map (JSON)
{"version":3,"file":"enterCropMode.mjs","sources":["../../extensions/cropping_controls/enterCropMode.ts"],"sourcesContent":["import { type FabricImage, type TPointerEventInfo } from 'fabric';\nimport { createImageCroppingControls } from './croppingControls';\nimport { cropPanMoveHandler, renderGhostImage } from './croppingHandlers';\n/**\n * Coordinates the change to image to enter crop mode and returns\n * a function to exit crop mode\n */\nexport const enterCropMode = function enterCropMode(\n this: (args: TPointerEventInfo) => void,\n { target }: TPointerEventInfo,\n) {\n const fabricImage = target as FabricImage;\n const { controls, padding } = fabricImage;\n fabricImage.padding = 0;\n fabricImage.controls = createImageCroppingControls();\n fabricImage.on('moving', cropPanMoveHandler);\n fabricImage.on('before:render', renderGhostImage);\n fabricImage.setCoords();\n const exitCropMode = () => {\n fabricImage.padding = padding;\n fabricImage.off('moving', cropPanMoveHandler);\n fabricImage.off('before:render', renderGhostImage);\n fabricImage.controls = controls;\n fabricImage.setCoords();\n fabricImage.once('mousedblclick', enterCropMode);\n fabricImage.canvas?.requestRenderAll();\n };\n fabricImage.once('mousedblclick', exitCropMode);\n fabricImage.canvas?.requestRenderAll();\n};\n"],"names":["enterCropMode","_ref","_fabricImage$canvas2","target","fabricImage","controls","padding","createImageCroppingControls","on","cropPanMoveHandler","renderGhostImage","setCoords","exitCropMode","_fabricImage$canvas","off","once","canvas","requestRenderAll"],"mappings":";;;AAGA;AACA;AACA;AACA;MACaA,aAAa,GAAG,SAASA,aAAaA,CAAAC,IAAA,EAGjD;AAAA,EAAA,IAAAC,oBAAA;EAAA,IADA;AAAEC,IAAAA;AAA0B,GAAC,GAAAF,IAAA;EAE7B,MAAMG,WAAW,GAAGD,MAAqB;EACzC,MAAM;IAAEE,QAAQ;AAAEC,IAAAA;AAAQ,GAAC,GAAGF,WAAW;EACzCA,WAAW,CAACE,OAAO,GAAG,CAAC;AACvBF,EAAAA,WAAW,CAACC,QAAQ,GAAGE,2BAA2B,EAAE;AACpDH,EAAAA,WAAW,CAACI,EAAE,CAAC,QAAQ,EAAEC,kBAAkB,CAAC;AAC5CL,EAAAA,WAAW,CAACI,EAAE,CAAC,eAAe,EAAEE,gBAAgB,CAAC;EACjDN,WAAW,CAACO,SAAS,EAAE;EACvB,MAAMC,YAAY,GAAGA,MAAM;AAAA,IAAA,IAAAC,mBAAA;IACzBT,WAAW,CAACE,OAAO,GAAGA,OAAO;AAC7BF,IAAAA,WAAW,CAACU,GAAG,CAAC,QAAQ,EAAEL,kBAAkB,CAAC;AAC7CL,IAAAA,WAAW,CAACU,GAAG,CAAC,eAAe,EAAEJ,gBAAgB,CAAC;IAClDN,WAAW,CAACC,QAAQ,GAAGA,QAAQ;IAC/BD,WAAW,CAACO,SAAS,EAAE;AACvBP,IAAAA,WAAW,CAACW,IAAI,CAAC,eAAe,EAAEf,aAAa,CAAC;AAChD,IAAA,CAAAa,mBAAA,GAAAT,WAAW,CAACY,MAAM,MAAA,IAAA,IAAAH,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAoBI,gBAAgB,EAAE;EACxC,CAAC;AACDb,EAAAA,WAAW,CAACW,IAAI,CAAC,eAAe,EAAEH,YAAY,CAAC;AAC/C,EAAA,CAAAV,oBAAA,GAAAE,WAAW,CAACY,MAAM,MAAA,IAAA,IAAAd,oBAAA,KAAA,MAAA,IAAlBA,oBAAA,CAAoBe,gBAAgB,EAAE;AACxC;;;;"}