feat(input): support artboard selection
This commit is contained in:
@@ -4,6 +4,7 @@ import { isPanInteractionMode } from "@editor/tools";
|
||||
import type { GlobalKeybindConsumer, GlobalPointerConsumer, GlobalWheelConsumer } from "@input/index";
|
||||
import {
|
||||
createViewportPanInputController,
|
||||
handleArtboardSelection,
|
||||
handleViewportWheel,
|
||||
keybindEventFromKeyboardEvent,
|
||||
pointerInputEventFromPointerEvent,
|
||||
@@ -50,12 +51,23 @@ export function useCanvasInput(
|
||||
};
|
||||
|
||||
const handlePointerDown = (event: PointerEvent) => {
|
||||
const consumed = panHandler.pointerDown(pointerInputEventFromPointerEvent(event));
|
||||
if (!consumed) return;
|
||||
const inputEvent = pointerInputEventFromPointerEvent(event);
|
||||
const consumed = panHandler.pointerDown(inputEvent);
|
||||
if (consumed) {
|
||||
canvas.setPointerCapture(event.pointerId);
|
||||
setIsPanning(true);
|
||||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
canvas.setPointerCapture(event.pointerId);
|
||||
setIsPanning(true);
|
||||
event.preventDefault();
|
||||
const state = store.getState();
|
||||
const selected = state.editor.tools.activeTool === "select" && handleArtboardSelection({
|
||||
event: inputEvent,
|
||||
document: state.document,
|
||||
viewport: state.editor.viewport,
|
||||
dispatch: store.dispatch,
|
||||
});
|
||||
if (selected) event.preventDefault();
|
||||
};
|
||||
|
||||
const handlePointerMove = (event: PointerEvent) => {
|
||||
|
||||
Reference in New Issue
Block a user