in packages/core/src/models/TransformHelper.ts [545:600]
dragStart(props: ITransformHelperDragStartProps) {
const dragNodes = props?.dragNodes
const type = props?.type
const direction = props?.direction
if (type === 'resize') {
const nodes = TreeNode.filterResizable(dragNodes)
if (nodes.length) {
this.dragging = true
this.type = type
this.direction = direction
this.dragNodes = nodes
this.calcDragStartStore(nodes)
this.cursor.setDragType(CursorDragType.Resize)
}
} else if (type === 'translate') {
const nodes = TreeNode.filterTranslatable(dragNodes)
if (nodes.length) {
this.dragging = true
this.type = type
this.direction = direction
this.dragNodes = nodes
this.calcDragStartStore(nodes)
this.cursor.setDragType(CursorDragType.Translate)
}
} else if (type === 'rotate') {
const nodes = TreeNode.filterRotatable(dragNodes)
if (nodes.length) {
this.dragging = true
this.type = type
this.dragNodes = nodes
this.calcDragStartStore(nodes)
this.cursor.setDragType(CursorDragType.Rotate)
}
} else if (type === 'scale') {
const nodes = TreeNode.filterScalable(dragNodes)
if (nodes.length) {
this.dragging = true
this.type = type
this.dragNodes = nodes
this.calcDragStartStore(nodes)
this.cursor.setDragType(CursorDragType.Scale)
}
} else if (type === 'round') {
const nodes = TreeNode.filterRoundable(dragNodes)
if (nodes.length) {
this.dragging = true
this.type = type
this.dragNodes = nodes
this.calcDragStartStore(nodes)
this.cursor.setDragType(CursorDragType.Round)
}
}
if (this.dragging) {
this.calcViewportNodes()
}
}