@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
40 lines (39 loc) • 1.76 kB
TypeScript
import { BaseTimelineLane, TimelineLaneConfig, TimelineLaneConfigDefaultsExcluded, TimelineLaneStyle } from '../timeline-lane';
import { Subject } from 'rxjs';
import { ClickEvent, MouseEnterEvent, MouseLeaveEvent, MouseMoveEvent, MouseOutEvent, MouseOverEvent } from '../../types';
import { Timeline } from '../timeline';
import { VideoControllerApi } from '../../video';
import { ScrubberLaneApi } from '../../api';
export interface ScrubberLaneConfig extends TimelineLaneConfig<ScrubberLaneStyle> {
}
export interface ScrubberLaneStyle extends TimelineLaneStyle {
tickDivisor: number;
tickDivisionMinWidth: number;
tickFill: string;
tickHeight: number;
divisionTickHeight: number;
timecodeShowFirst: boolean;
timecodeFontSize: number;
timecodeFill: string;
}
export declare class ScrubberLane extends BaseTimelineLane<ScrubberLaneConfig, ScrubberLaneStyle> implements ScrubberLaneApi {
readonly onClick$: Subject<ClickEvent>;
readonly onMouseEnter$: Subject<MouseEnterEvent>;
readonly onMouseOver$: Subject<MouseOverEvent>;
readonly onMouseMove$: Subject<MouseMoveEvent>;
readonly onMouseOut$: Subject<MouseOutEvent>;
readonly onMouseLeave$: Subject<MouseLeaveEvent>;
private _tickDivisionWidth?;
private _tickTotalDivisions?;
private _timecodedGroup?;
private _timecodedEventCatcher?;
private _ticksGroup?;
constructor(config: TimelineLaneConfigDefaultsExcluded<ScrubberLaneConfig>);
prepareForTimeline(timeline: Timeline, videoController: VideoControllerApi): void;
protected settleLayout(): void;
onStyleChange(): void;
destroy(): void;
clearContent(): void;
refreshTimeDivisions(forceCreate?: boolean): void;
private resolveTimeDivisionWidth;
}