{"version":3,"file":"commonControls.min.mjs","sources":["../../../src/controls/commonControls.ts"],"sourcesContent":["//@ts-nocheck\nimport { changeWidth } from './changeWidth';\nimport { Control } from './Control';\nimport { scaleCursorStyleHandler, scalingEqually } from './scale';\nimport {\n  scaleOrSkewActionName,\n  scaleSkewCursorStyleHandler,\n  scalingYOrSkewingX,\n} from './scaleSkew';\nimport { renderCircleControl } from './controlRendering';\n\n// use this function if you want to generate new controls for every instance\nexport const createObjectDefaultControls = () => ({\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  tr: new Control({\n    x: 0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  bl: new Control({\n    x: -0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  // mtr: new Control({\n  //   x: 0,\n  //   y: -0.5,\n  //   actionHandler: rotationWithSnapping,\n  //   cursorStyleHandler: rotationStyleHandler,\n  //   offsetY: -40,\n  //   withConnection: true,\n  //   actionName: 'rotate',\n  // }),\n});\n\nexport const createObjectDefaultNoRotateControls = () => ({\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  tr: new Control({\n    x: 0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  bl: new Control({\n    x: -0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n});\n\nexport const createObjectImageControls = () => ({\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  tr: new Control({\n    x: 0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  bl: new Control({\n    x: -0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n});\nexport const createObjectFileControls = () => ({\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n});\nexport const createObjectArrowControls = () => ({\n  tl: new Control({\n    x: -0.5,\n    y: -0.5,\n    cursorStyle: 'crosshair',\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n  br: new Control({\n    x: 0.5,\n    y: 0.5,\n    cursorStyleHandler: scaleCursorStyleHandler,\n    actionHandler: scalingEqually,\n  }),\n});\n\nexport const createObjectConnectorControls = () => {\n  function renderCustomControl(ctx, left, top, fabricObject) {\n    const styleOverride1 = {\n      cornerSize: 10,\n      lineWidth: 2,\n    };\n    renderCircleControl.call(\n      fabricObject,\n      ctx,\n      left,\n      top,\n      styleOverride1,\n      fabricObject\n    );\n  }\n  return {\n    mtaStart: new Control({\n      x: 0,\n      y: -0.5,\n      offsetX: 0,\n      offsetY: -20,\n      render: renderCustomControl,\n      mouseDownHandler: (eventData, transformData) => {\n        // this.controlMousedownProcess(transformData, 0.0, -0.5);\n        return true;\n      },\n      name: 'mtaStart',\n    }),\n    mbaStart: new Control({\n      x: 0,\n      y: 0.5,\n      offsetX: 0,\n      offsetY: 20,\n      render: renderCustomControl,\n      mouseDownHandler: (eventData, transformData) => {\n        // this.controlMousedownProcess(transformData, 0.0, 0.5);\n        return true;\n      },\n      name: 'mbaStart',\n    }),\n    mlaStart: new Control({\n      x: -0.5,\n      y: 0,\n      offsetX: -20,\n      offsetY: 0,\n      render: renderCustomControl,\n      mouseDownHandler: (eventData, transformData) => {\n        // this.controlMousedownProcess(transformData, -0.5, 0.0);\n        return true;\n      },\n      name: 'mlaStart',\n    }),\n    mraStart: new Control({\n      x: 0.5,\n      y: 0,\n      offsetX: 20,\n      offsetY: 0,\n      render: renderCustomControl,\n      mouseDownHandler: (eventData, transformData) => {\n        // this.controlMousedownProcess(transformData, 0.5, 0.0);\n        return true;\n      },\n      name: 'mraStart',\n    }),\n  };\n};\n\nexport const createResizeControls = () => ({\n  mr: new Control({\n    x: 0.5,\n    y: 0,\n    offsetX: 20,\n    offsetY: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: 'resizing',\n  }),\n  ml: new Control({\n    x: -0.5,\n    y: 0,\n    offsetX: -20,\n    offsetY: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: 'resizing',\n  }),\n  mb: new Control({\n    x: 0,\n    y: 0.5,\n    offsetX: 0,\n    offsetY: 20,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingYOrSkewingX,\n    getActionName: scaleOrSkewActionName,\n  }),\n\n  mt: new Control({\n    x: 0,\n    y: -0.5,\n    offsetX: 0,\n    offsetY: -20,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionHandler: scalingYOrSkewingX,\n    getActionName: scaleOrSkewActionName,\n  }),\n});\n\nexport const createResizeControlsForText = () => ({\n  mr: new Control({\n    x: 0.5,\n    y: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: 'resizing',\n  }),\n  ml: new Control({\n    x: -0.5,\n    y: 0,\n    actionHandler: changeWidth,\n    cursorStyleHandler: scaleSkewCursorStyleHandler,\n    actionName: 'resizing',\n  }),\n});\n\nexport const createTextboxDefaultControls = () => ({\n  //...createObjectDefaultControls(),\n  ...createResizeControlsForText(),\n});\nexport const createRectNotesDefaultControls = () => ({\n  ...createObjectDefaultNoRotateControls(),\n  ...createObjectConnectorControls(),\n});\nexport const createShapeNotesDefaultControls = () => ({\n  ...createObjectDefaultNoRotateControls(),\n  ...createResizeControls(),\n  ...createObjectConnectorControls,\n});\nexport const createPathDefaultControls = () => ({\n  ...createObjectDefaultNoRotateControls(),\n});\nexport const createImageDefaultControls = () => ({\n  ...createObjectImageControls(),\n});\nexport const createFileDefaultControls = () => ({\n  ...createObjectFileControls(),\n});\n"],"names":["createObjectDefaultControls","tl","Control","x","y","cursorStyleHandler","scaleCursorStyleHandler","actionHandler","scalingEqually","tr","bl","br","createObjectDefaultNoRotateControls","createObjectImageControls","createObjectFileControls","createObjectArrowControls","cursorStyle","createObjectConnectorControls","renderCustomControl","ctx","left","top","fabricObject","renderCircleControl","call","cornerSize","lineWidth","mtaStart","offsetX","offsetY","render","mouseDownHandler","eventData","transformData","name","mbaStart","mlaStart","mraStart","createResizeControls","mr","changeWidth","scaleSkewCursorStyleHandler","actionName","ml","mb","scalingYOrSkewingX","getActionName","scaleOrSkewActionName","mt","createResizeControlsForText","createTextboxDefaultControls","_objectSpread","createRectNotesDefaultControls","createShapeNotesDefaultControls","createPathDefaultControls","createImageDefaultControls","createFileDefaultControls"],"mappings":"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"}