/// /// import { BaseComponent, IBaseComponentOptions } from "@iiif/base-component"; import { Canvas, Range } from "manifesto.js"; import { IAVComponentData } from "."; import { VirtualCanvas } from "./VirtualCanvas"; export interface IMaxMin { max: number; min: number; } export interface IAVCanvasInstanceData extends IAVComponentData { canvas?: Canvas | VirtualCanvas; range?: Range; visible?: boolean; volume?: number; } export declare class CanvasInstance extends BaseComponent { private _$canvasContainer; private _$canvasDuration; private _$canvasHoverHighlight; private _$canvasHoverPreview; private _$canvasTime; private _$canvasTimelineContainer; private _$controlsContainer; private _$durationHighlight; private _$hoverPreviewTemplate; private _$nextButton; private _$optionsContainer; private _$playButton; private _$prevButton; private _$rangeHoverHighlight; private _$rangeHoverPreview; private _$rangeTimelineContainer; private _$timeDisplay; private _$timelineItemContainer; private _canvasClockFrequency; private _canvasClockInterval; private _canvasClockStartDate; private _canvasClockTime; private _canvasHeight; private _canvasWidth; private _compositeWaveform; private _contentAnnotations; private _data; private _highPriorityFrequency; private _highPriorityInterval; private _isPlaying; private _isStalled; private _lowPriorityFrequency; private _lowPriorityInterval; private _mediaSyncMarginSecs; private _rangeSpanPadding; private _readyMediaCount; private _stallRequestedBy; private _volume; private _wasPlaying; private _waveformCanvas; private _waveformCtx; ranges: Range[]; waveforms: string[]; private _$canvasLoadingProgress; private _$fullscreenButton; private _mediaDuration; $playerElement: JQuery; isOnlyCanvasInstance: boolean; logMessage: (message: string) => void; constructor(options: IBaseComponentOptions); init(): void; private _getBody; private _getDuration; data(): IAVCanvasInstanceData; isVirtual(): boolean; isVisible(): boolean; includesVirtualSubCanvas(canvasId: string): boolean; set(data: IAVCanvasInstanceData): void; private _hasRangeChanged; private _getRangeForCurrentTime; private _rangeSpansCurrentTime; private _rangeNavigable; private _render; getCanvasId(): string | undefined; private _updateHoverPreview; private _previous; private _next; destroy(): void; private _convertToPercentage; private _renderMediaElement; private _getWaveformData; private _renderWaveform; private _drawWaveform; private _scaleY; private _getWaveformMaxAndMin; private _updateCurrentTimeDisplay; private _updateDurationDisplay; private _renderSyncIndicator; setCurrentTime(seconds: number): void; getCurrentTime(): number; private _rewind; private _fastforward; play(withoutUpdate?: boolean): void; pause(withoutUpdate?: boolean): void; private _isNavigationConstrainedToRange; private _canvasClockUpdater; private _highPriorityUpdater; private _lowPriorityUpdater; private _updateMediaActiveStates; private _pauseMedia; private _setMediaCurrentTime; private _synchronizeMedia; private _checkMediaSynchronization; private _playbackStalled; resize(): void; } export declare class CanvasInstanceEvents { static NEXT_RANGE: string; static PAUSECANVAS: string; static PLAYCANVAS: string; static PREVIOUS_RANGE: string; }