openpencil/packages/docs/ru/programmable/sdk/api/composables/use-canvas-input.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 78 SDK pages per language (components, composables, advanced API,
  guides, architecture, getting-started)
- vector-edit.md user guide page (5 languages)
- Update stale ru/programmable/cli/inspecting.md
- Fix YAML frontmatter quoting for colons in descriptions

474 files, 0 missing pages across de/es/fr/it/pl/ru.
VitePress build verified — all 546 SDK pages render.
2026-04-22 18:35:22 +03:00

1.9 KiB
Raw Blame History

title description
useCanvasInput Подключение ввода указателя, перетаскивания, выделения, изменения размера, поворота и инструментов к холсту.

useCanvasInput

useCanvasInput() подключает взаимодействия указателя и мыши к холсту редактора.

Обрабатывает:

  • выделение
  • перетаскивание
  • изменение размера
  • поворот
  • прокрутку (panning)
  • потоки рисования пером
  • взаимодействие при редактировании текста
  • хит-тестирование с учётом области видимости

Использование

Этот компосабл обычно используется вместе с useCanvas() и хелперами хит-тестирования от рендерера.

useCanvasInput(
  canvasRef,
  editor,
  hitTestSectionTitle,
  hitTestComponentLabel,
  hitTestFrameTitle,
)

Базовый пример

const canvas = useCanvas(canvasRef, editor)

useCanvasInput(
  canvasRef,
  editor,
  canvas.hitTestSectionTitle,
  canvas.hitTestComponentLabel,
  canvas.hitTestFrameTitle,
)

Практические примеры

Отслеживание движения курсора в пространстве холста

useCanvasInput(
  canvasRef,
  editor,
  hitTestSectionTitle,
  hitTestComponentLabel,
  hitTestFrameTitle,
  (cx, cy) => {
    console.log(cx, cy)
  },
)

Примечания

Этот компосабл более низкоуровневый, чем большинство логики панелей. Лучше всего подходит для оболочек редактора и контейнеров холста.

Связанные API