UNPKG

@byomakase/omakase-player

Version:

## Omakase Player - Open source JavaScript framework for building frame accurate video experiences

40 lines (39 loc) 1.49 kB
import { BaseKonvaComponent, ComponentConfig, ConfigWithOptionalStyle } from '../../layout/konva-component'; import Konva from 'konva'; import { OnMeasurementsChange } from '../../common/measurement'; import { Timeline } from '../timeline'; import { Subject } from 'rxjs'; import { ScrubberMoveEvent } from '../../types'; export interface ScrubberStyle { fill: string; snappedFill: string; northLineWidth: number; northLineOpacity: number; southLineWidth: number; southLineOpacity: number; symbolHeight: number; symbolYOffset: number; symbolOpacity: number; textFontSize: number; textFill: string; textSnappedFill: string; textYOffset: number; visible: boolean; } export interface ScrubberConfig extends ComponentConfig<ScrubberStyle> { } export declare class Scrubber extends BaseKonvaComponent<ScrubberConfig, ScrubberStyle, Konva.Group> implements OnMeasurementsChange { readonly onMove$: Subject<ScrubberMoveEvent>; protected _timeline: Timeline; protected _group: Konva.Group; protected _label: Konva.Label; protected _text: Konva.Text; protected _symbol: Konva.Circle; protected _northLine: Konva.Line; protected _southLine: Konva.Line; constructor(config: Partial<ConfigWithOptionalStyle<ScrubberConfig>>, timeline: Timeline); protected provideKonvaNode(): Konva.Group; protected onStyleChange(): void; onMeasurementsChange(): void; move(x: number, isSnapped?: boolean): void; }