@pbroom/color-kit/driverColor slider
normalizeColorSliderPointer
Converts a pointer coordinate into a clamped [0, 1] track position. Horizontal tracks grow left to right; vertical tracks grow bottom to top (the returned value is inverted from the client y axis).
import { normalizeColorSliderPointer } from '@pbroom/color-kit/driver';color-slider.ts:230function normalizeColorSliderPointer(
orientation: ColorSliderOrientation,
pointer: number,
start: number,
size: number,
positionInset?: number,
): number;Parameters
- pointer
number - Pointer client coordinate:
clientXfor horizontal,clientYfor vertical. - start
number - Track start in client pixels:
rect.leftorrect.top. - size
number - Track length in pixels:
rect.widthorrect.height. - positionInset?
numberdefault0 - Pixels trimmed from both track ends (e.g. the thumb radius), clamped to
size / 2. Returns 0 when nothing is left.
Returns
number
Example
import { normalizeColorSliderPointer } from '@pbroom/color-kit/driver';
normalizeColorSliderPointer('horizontal', 150, 100, 200); // → 0.25
normalizeColorSliderPointer('vertical', 150, 100, 200); // → 0.75
normalizeColorSliderPointer('horizontal', 110, 100, 200, 10); // → 0