mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-28 00:39:56 +00:00
86 lines
1.7 KiB
JavaScript
86 lines
1.7 KiB
JavaScript
|
|
export class TextTrackStub extends EventTarget {
|
|
constructor(kind = '', label = '', language = '') {
|
|
super();
|
|
this.kind = kind;
|
|
this.label = label;
|
|
this.language = language;
|
|
this.mode = 'disabled'; // 'disabled', 'hidden', or 'showing'
|
|
this.cues = new TextTrackCueListStub();
|
|
this.activeCues = new TextTrackCueListStub();
|
|
}
|
|
|
|
addCue(cue) {
|
|
this.cues._add(cue);
|
|
}
|
|
|
|
removeCue(cue) {
|
|
this.cues._remove(cue);
|
|
}
|
|
}
|
|
|
|
export class TextTrackCueListStub {
|
|
constructor() {
|
|
this._cues = [];
|
|
}
|
|
|
|
get length() {
|
|
return this._cues.length;
|
|
}
|
|
|
|
item(index) {
|
|
return this._cues[index];
|
|
}
|
|
|
|
getCueById(id) {
|
|
return this._cues.find(cue => cue.id === id) || null;
|
|
}
|
|
|
|
_add(cue) {
|
|
this._cues.push(cue);
|
|
}
|
|
|
|
_remove(cue) {
|
|
const index = this._cues.indexOf(cue);
|
|
if (index !== -1) {
|
|
this._cues.splice(index, 1);
|
|
}
|
|
}
|
|
|
|
[Symbol.iterator]() {
|
|
return this._cues[Symbol.iterator]();
|
|
}
|
|
}
|
|
|
|
export class TextTrackListStub extends EventTarget {
|
|
constructor() {
|
|
super();
|
|
this._tracks = [];
|
|
}
|
|
|
|
get length() {
|
|
return this._tracks.length;
|
|
}
|
|
|
|
item(index) {
|
|
return this._tracks[index];
|
|
}
|
|
|
|
_add(track) {
|
|
this._tracks.push(track);
|
|
this.dispatchEvent(new Event('addtrack'));
|
|
}
|
|
|
|
_remove(track) {
|
|
const index = this._tracks.indexOf(track);
|
|
if (index !== -1) {
|
|
this._tracks.splice(index, 1);
|
|
this.dispatchEvent(new Event('removetrack'));
|
|
}
|
|
}
|
|
|
|
[Symbol.iterator]() {
|
|
return this._tracks[Symbol.iterator]();
|
|
}
|
|
}
|