@chief-editor/editor
Version:
FlowEditor Editor
1 lines • 974 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var react_1=require("react"),vector_1=require("@co-hooks/vector"),use_1=require("@rc-hooks/use"),useEditor_1=require("./useEditor");function useDraggerMask(e){var r=e.onDragStart,t=e.onDragging,a=e.onDragEnd,o=e.ratio,s=use_1.useRefCallback(r),u=use_1.useRefCallback(t),c=use_1.useRefCallback(a),n=useEditor_1.useEditor(),i=use_1.useRefGetter(o);return{onDragStart:s,onDragging:react_1.useCallback((function(e){u(calcDragTransformData(e,n.getZoom(),i()))}),[]),onDragEnd:react_1.useCallback((function(e){c(calcDragTransformData(e,n.getZoom(),i()))}),[])}}function calcDragTransformData(e,r,t){var a=e.data,o=e.startMousePos,s=e.currentMousePos;return r/=100,{offset:new vector_1.Vector([(s.clientX-o.clientX)/r,(s.clientY-o.clientY)/r]),rotate:(null==a?void 0:a.rotate)||0,direct:null==a?void 0:a.direct,isRotate:null!=(null==a?void 0:a.rotate),ratio:!!e.shiftKey||t}}exports.useDraggerMask=useDraggerMask;