fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 6.18 kB
Source Map (JSON)
{"version":3,"file":"croppingControls.mjs","sources":["../../extensions/cropping_controls/croppingControls.ts"],"sourcesContent":["import { Control, controlsUtils } from 'fabric';\nimport {\n changeCropHeight,\n changeCropWidth,\n changeCropX,\n changeCropY,\n} from './croppingHandlers';\nimport { renderCornerControl } from './renderCornerControl';\n\nconst { scaleCursorStyleHandler } = controlsUtils;\n\nconst cropActionName = () => 'crop';\n// use this function if you want to generate new controls for every instance\nexport const createImageCroppingControls = () => ({\n ml: new Control({\n x: -0.5,\n y: 0,\n sizeX: 4,\n sizeY: 20,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: changeCropX,\n getActionName: cropActionName,\n }),\n\n mr: new Control({\n x: 0.5,\n y: 0,\n sizeX: 4,\n sizeY: 20,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: changeCropWidth,\n getActionName: cropActionName,\n }),\n\n mb: new Control({\n x: 0,\n y: 0.5,\n sizeX: 20,\n sizeY: 4,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: changeCropHeight,\n getActionName: cropActionName,\n }),\n\n mt: new Control({\n x: 0,\n y: -0.5,\n sizeX: 20,\n sizeY: 4,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: changeCropY,\n getActionName: cropActionName,\n }),\n\n tl: new Control({\n angle: 0,\n x: -0.5,\n y: -0.5,\n sizeX: 20,\n sizeY: 4,\n render: renderCornerControl,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: (...args) => {\n const cropX = changeCropX(...args);\n const cropY = changeCropY(...args);\n return cropX || cropY;\n },\n getActionName: cropActionName,\n }),\n\n tr: new Control({\n angle: 90,\n x: 0.5,\n y: -0.5,\n sizeX: 20,\n sizeY: 4,\n render: renderCornerControl,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: (...args) => {\n const width = changeCropWidth(...args);\n const cropY = changeCropY(...args);\n return width || cropY;\n },\n getActionName: cropActionName,\n }),\n\n bl: new Control({\n angle: 270,\n x: -0.5,\n y: 0.5,\n sizeX: 20,\n sizeY: 4,\n render: renderCornerControl,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: (...args) => {\n const height = changeCropHeight(...args);\n const cropX = changeCropX(...args);\n return height || cropX;\n },\n getActionName: cropActionName,\n }),\n\n br: new Control({\n angle: 180,\n x: 0.5,\n y: 0.5,\n sizeX: 20,\n sizeY: 4,\n render: renderCornerControl,\n cursorStyleHandler: scaleCursorStyleHandler,\n actionHandler: (...args) => {\n const height = changeCropHeight(...args);\n const width = changeCropWidth(...args);\n return height || width;\n },\n getActionName: cropActionName,\n }),\n});\n"],"names":["scaleCursorStyleHandler","controlsUtils","cropActionName","createImageCroppingControls","ml","Control","x","y","sizeX","sizeY","cursorStyleHandler","actionHandler","changeCropX","getActionName","mr","changeCropWidth","mb","changeCropHeight","mt","changeCropY","tl","angle","render","renderCornerControl","cropX","arguments","cropY","tr","width","bl","height","br"],"mappings":"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"}