{"version":3,"file":"commonControls.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","styleOverride1","cornerSize","lineWidth","renderCircleControl","call","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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"}