MCPcopy Create free account
hub / github.com/AmazingAng/PolyWorld / readClientPoint

Function readClientPoint

src/hooks/usePanelDrag.ts:332–360  ·  view source on GitHub ↗
(
  event:
    | Event
    | MouseEvent
    | PointerEvent
    | TouchEvent
    | { clientX?: number; clientY?: number; touches?: TouchList; changedTouches?: TouchList }
    | null
    | undefined,
)

Source from the content-addressed store, hash-verified

330}
331
332function readClientPoint(
333 event:
334 | Event
335 | MouseEvent
336 | PointerEvent
337 | TouchEvent
338 | { clientX?: number; clientY?: number; touches?: TouchList; changedTouches?: TouchList }
339 | null
340 | undefined,
341): { clientX: number; clientY: number } | null {
342 if (!event) return null;
343 if ("touches" in event && event.touches && event.touches.length > 0) {
344 const touch = event.touches[0];
345 return { clientX: touch.clientX, clientY: touch.clientY };
346 }
347 if ("changedTouches" in event && event.changedTouches && event.changedTouches.length > 0) {
348 const touch = event.changedTouches[0];
349 return { clientX: touch.clientX, clientY: touch.clientY };
350 }
351 if (
352 "clientX" in event &&
353 "clientY" in event &&
354 typeof event.clientX === "number" &&
355 typeof event.clientY === "number"
356 ) {
357 return { clientX: event.clientX, clientY: event.clientY };
358 }
359 return null;
360}
361
362export function usePanelDrag(config: {
363 grids: PanelDragGrid[];

Callers 1

usePanelDragFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected