Add transform-pointer-intent.ts for handling pointer down events
This commit is contained in:
31
src/viewport-three/transform-pointer-intent.ts
Normal file
31
src/viewport-three/transform-pointer-intent.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import type { TransformSessionState } from "../core/transform-session";
|
||||
import type { ViewportPanelId } from "./viewport-layout";
|
||||
|
||||
export interface TransformPointerDownIntent {
|
||||
commitActiveTransform: boolean;
|
||||
allowGizmoInteraction: boolean;
|
||||
}
|
||||
|
||||
export function resolveTransformPointerDownIntent(
|
||||
transformSession: TransformSessionState,
|
||||
panelId: ViewportPanelId
|
||||
): TransformPointerDownIntent {
|
||||
if (transformSession.kind !== "active") {
|
||||
return {
|
||||
commitActiveTransform: false,
|
||||
allowGizmoInteraction: true
|
||||
};
|
||||
}
|
||||
|
||||
if (transformSession.sourcePanelId !== panelId) {
|
||||
return {
|
||||
commitActiveTransform: false,
|
||||
allowGizmoInteraction: false
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
commitActiveTransform: true,
|
||||
allowGizmoInteraction: false
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user