From 39d1832b8f61889dd7c18ce65701f59784eaa741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20L=C3=A9vesque?= Date: Thu, 13 Apr 2023 05:53:37 -0400 Subject: [PATCH] feat(useMouse): support `type: screen` (#2467) --- packages/core/useMouse/index.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/core/useMouse/index.ts b/packages/core/useMouse/index.ts index 58754e7270d..88cd0201321 100644 --- a/packages/core/useMouse/index.ts +++ b/packages/core/useMouse/index.ts @@ -7,11 +7,11 @@ import type { Position } from '../types' export interface UseMouseOptions extends ConfigurableWindow, ConfigurableEventFilter { /** - * Mouse position based by page, client, or relative to previous position + * Mouse position based by page, client, screen, or relative to previous position * * @default 'page' */ - type?: 'page' | 'client' | 'movement' + type?: 'page' | 'client' | 'screen' | 'movement' /** * Listen to `touchmove` events @@ -64,6 +64,10 @@ export function useMouse(options: UseMouseOptions = {}) { x.value = event.clientX y.value = event.clientY } + else if (type === 'screen') { + x.value = event.screenX + y.value = event.screenY + } else if (type === 'movement') { x.value = event.movementX y.value = event.movementY @@ -85,6 +89,10 @@ export function useMouse(options: UseMouseOptions = {}) { x.value = touch.clientX y.value = touch.clientY } + else if (type === 'screen') { + x.value = touch.screenX + y.value = touch.screenY + } sourceType.value = 'touch' } }