Skip to content

useCanvasInput

useCanvasInput() connecte les interactions pointeur et souris au canvas de l'éditeur.

Il gère les préoccupations d'interaction comme :

  • la sélection
  • le glissement
  • le redimensionnement
  • la rotation
  • le panoramique
  • les flux de dessin au stylo
  • l'interaction de l'édition de texte
  • le test de collision sensible à la portée

Utilisation

Ce composable est généralement associé à useCanvas() et aux helpers de test de collision du renderer.

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

Exemple de base

ts
const canvas = useCanvas(canvasRef, editor)

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

Exemples pratiques

Suivre le mouvement du curseur dans l'espace canvas

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

Notes

Ce composable est plus bas niveau que la plupart des logiques de panneau. Il est mieux adapté aux shells d'éditeur et aux conteneurs canvas.

API associées

Released under the MIT License.