Files
excalidraw/src/gesture.ts
Lipis 097c5dfad7 Refactor: e -> event or error, err -> error, p -> pointer (#831)
* Refactor: e -> event or error, err -> error, p -> pointer

* simplify
2020-02-28 23:03:53 +01:00

18 lines
562 B
TypeScript

import { Pointer } from "./types";
import { normalizeScroll } from "./scene/data";
export function getCenter(pointers: readonly Pointer[]) {
return {
x: normalizeScroll(sum(pointers, pointer => pointer.x) / pointers.length),
y: normalizeScroll(sum(pointers, pointer => pointer.y) / pointers.length),
};
}
export function getDistance([a, b]: readonly Pointer[]) {
return Math.hypot(a.x - b.x, a.y - b.y);
}
function sum<T>(array: readonly T[], mapper: (item: T) => number): number {
return array.reduce((acc, item) => acc + mapper(item), 0);
}