5180 fichiers 38.5 Mo 0 téléchargements 280 vues mis à jour il y a 6 heures ui
nitro-v36-with-renderer-v36 / src / api / octane / room / DispatchMouseEvent.ts
DispatchMouseEvent.ts 1.3 Ko Télécharger le fichier
import { GetRoomEngine, MouseEventType } from '@octane/renderer';

let didMouseMove = false;
let lastClick = 0;
let clickCount = 0;

export const DispatchMouseEvent = (event: MouseEvent, canvasId: number = 1) => {
    const x = event.clientX;
    const y = event.clientY;

    let eventType = event.type;

    if (eventType === MouseEventType.MOUSE_CLICK) {
        if (lastClick) {
            clickCount = 1;

            if (lastClick >= Date.now() - 300) clickCount++;
        }

        lastClick = Date.now();

        if (clickCount === 2) {
            if (!didMouseMove) eventType = MouseEventType.DOUBLE_CLICK;

            clickCount = 0;
            lastClick = null;
        }
    }

    switch (eventType) {
        case MouseEventType.MOUSE_CLICK:
            break;
        case MouseEventType.DOUBLE_CLICK:
            break;
        case MouseEventType.MOUSE_MOVE:
            didMouseMove = true;
            break;
        case MouseEventType.MOUSE_DOWN:
            didMouseMove = false;
            break;
        case MouseEventType.MOUSE_UP:
            break;
        case MouseEventType.RIGHT_CLICK:
            break;
        default:
            return;
    }

    GetRoomEngine().dispatchMouseEvent(canvasId, x, y, eventType, event.altKey, event.ctrlKey || event.metaKey, event.shiftKey, false);
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser