fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.73 kB
Source Map (JSON)
{"version":3,"file":"dom_event.min.mjs","sources":["../../../src/util/dom_event.ts"],"sourcesContent":["import type { TPointerEvent } from '../EventTypeDefs';\nimport { Point } from '../Point';\nimport { getScrollLeftTop } from './dom_misc';\n\nconst touchEvents = ['touchstart', 'touchmove', 'touchend'];\n\nfunction getTouchInfo(event: TouchEvent | MouseEvent): MouseEvent | Touch {\n const touchProp = (event as TouchEvent).changedTouches;\n if (touchProp && touchProp[0]) {\n return touchProp[0];\n }\n return event as MouseEvent;\n}\n\nexport const getPointer = (event: TPointerEvent): Point => {\n const element = event.target as HTMLElement,\n scroll = getScrollLeftTop(element),\n _evt = getTouchInfo(event);\n return new Point(_evt.clientX + scroll.left, _evt.clientY + scroll.top);\n};\n\nexport const isTouchEvent = (event: TPointerEvent) =>\n touchEvents.includes(event.type) ||\n (event as PointerEvent).pointerType === 'touch';\n\nexport const stopEvent = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n};\n"],"names":["touchEvents","getPointer","event","element","target","scroll","getScrollLeftTop","_evt","touchProp","changedTouches","getTouchInfo","Point","clientX","left","clientY","top","isTouchEvent","includes","type","pointerType","stopEvent","e","preventDefault","stopPropagation"],"mappings":"+FAIA,MAAMA,EAAc,CAAC,aAAc,YAAa,YAUnCC,MAAAA,EAAcC,IACzB,MAAMC,EAAUD,EAAME,OACpBC,EAASC,EAAiBH,GAC1BI,EAXJ,SAAsBL,GACpB,MAAMM,EAAaN,EAAqBO,eACxC,OAAID,GAAaA,EAAU,GAClBA,EAAU,GAEZN,CACT,CAKWQ,CAAaR,GACtB,OAAO,IAAIS,EAAMJ,EAAKK,QAAUP,EAAOQ,KAAMN,EAAKO,QAAUT,EAAOU,IAAI,EAG5DC,EAAgBd,GAC3BF,EAAYiB,SAASf,EAAMgB,OACa,UAAvChB,EAAuBiB,YAEbC,EAAaC,IACxBA,EAAEC,iBACFD,EAAEE,iBAAiB"}