8de7342352
DOM bar chart with clip-overlay progress split; pointer-capture drag; WaveformProfile fetched on load (fire-and-forget, cancellable); flat fallback when no profile; small lazily-loaded waveformSeeker.js for getBoundingClientRect and setPointerCapture.
13 lines
588 B
JavaScript
13 lines
588 B
JavaScript
// Geometry helpers for WaveformSeeker. Deliberately tiny and standalone — this is NOT part of
|
|
// the TypeScript audio bundle (DeepDrftPublic/Interop/audio → wwwroot/js/audio). Loaded lazily as
|
|
// an ES module by the component via IJSObjectReference, so it adds no global script tag.
|
|
|
|
export function getWidth(element) {
|
|
return element ? element.getBoundingClientRect().width : 0;
|
|
}
|
|
|
|
export function capturePointer(element, pointerId) {
|
|
// setPointerCapture keeps a drag tracking even when the pointer leaves the element bounds.
|
|
element?.setPointerCapture?.(pointerId);
|
|
}
|