summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/timeline/drag-utils.ts
blob: cf59a20d203a6749bc07951082794f9abbbb0a80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { TIMELINE_CONSTANTS } from "@/constants/timeline-constants";

export function getMouseTimeFromClientX({
	clientX,
	containerRect,
	zoomLevel,
	scrollLeft,
}: {
	clientX: number;
	containerRect: DOMRect;
	zoomLevel: number;
	scrollLeft: number;
}): number {
	const mouseX = clientX - containerRect.left + scrollLeft;
	return Math.max(
		0,
		mouseX / (TIMELINE_CONSTANTS.PIXELS_PER_SECOND * zoomLevel),
	);
}