Keep track of canvas enter/leave

main
kts of kettek 2024-04-08 18:27:10 -07:00
parent ba12fef1c6
commit 9bc7704705
1 changed files with 4 additions and 0 deletions

View File

@ -301,12 +301,15 @@
let buttons: Set<number> = new Set() let buttons: Set<number> = new Set()
let x: number = 0 let x: number = 0
let y: number = 0 let y: number = 0
let entered: boolean = false
node.addEventListener('mouseenter', (e: MouseEvent) => { node.addEventListener('mouseenter', (e: MouseEvent) => {
entered = true
// hide cursor // hide cursor
document.body.style.cursor = 'none' document.body.style.cursor = 'none'
}) })
node.addEventListener('mouseleave', (e: MouseEvent) => { node.addEventListener('mouseleave', (e: MouseEvent) => {
entered = false
// show cursor // show cursor
document.body.style.cursor = 'default' document.body.style.cursor = 'default'
}) })
@ -364,6 +367,7 @@
window.addEventListener('mousemove', (e: MouseEvent) => { window.addEventListener('mousemove', (e: MouseEvent) => {
if (!canvas) return if (!canvas) return
if (!entered && buttons.size === 0) return
// Get mouse position relative to canvas. // Get mouse position relative to canvas.
{ {
let rect = canvas.getBoundingClientRect() let rect = canvas.getBoundingClientRect()