Skip to content

Commit ee66139

Browse files
committed
fix(timeline): don't handle mouse move outside of canvas
1 parent 1f1c7fd commit ee66139

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

packages/app-frontend/src/features/timeline/TimelineView.vue

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1350,7 +1350,20 @@ export default defineComponent({
13501350
13511351
// Misc. mouse events
13521352
1353+
let mouseIn = false
1354+
13531355
function onMouseMove (event: FederatedPointerEvent) {
1356+
if (event.global.x < 0 ||
1357+
event.global.y < 0 ||
1358+
event.global.x > app.screen.width ||
1359+
event.global.y > app.screen.height) {
1360+
if (mouseIn) {
1361+
mouseIn = false
1362+
onMouseOut()
1363+
}
1364+
return
1365+
}
1366+
mouseIn = true
13541367
updateLayerHover(event)
13551368
updateCursorPosition(event)
13561369
}
@@ -1363,13 +1376,12 @@ export default defineComponent({
13631376
onMounted(() => {
13641377
// @ts-ignore
13651378
app.stage.addEventListener('pointermove', onMouseMove)
1366-
// @ts-ignore
1367-
app.stage.addEventListener('pointerout', onMouseOut)
13681379
})
13691380
13701381
return {
13711382
wrapper,
13721383
onResize,
1384+
onMouseOut,
13731385
}
13741386
},
13751387
})
@@ -1381,6 +1393,7 @@ export default defineComponent({
13811393
class="relative overflow-hidden"
13821394
data-id="timeline-view-wrapper"
13831395
@contextmenu.prevent
1396+
@mouseout="onMouseOut"
13841397
>
13851398
<resize-observer @notify="onResize" />
13861399
</div>

0 commit comments

Comments
 (0)