danmu
Version:
Flexible, cross-platform, powerful danmu library.
40 lines (39 loc) • 932 B
TypeScript
import type { Location } from './types';
import type { Container } from './container';
import type { FacileDanmaku } from './danmaku/facile';
export interface TrackOptions<T> {
index: number;
location: Location;
container: Container;
list: Array<FacileDanmaku<T>>;
}
export declare class Track<T> {
private _container;
isLock: boolean;
index: number;
location: Location;
list: Array<FacileDanmaku<T>>;
constructor({ index, list, location, container }: TrackOptions<T>);
get width(): number;
get height(): number;
each(fn: (danmaku: FacileDanmaku<T>) => unknown | boolean): void;
lock(): void;
unlock(): void;
clear(): void;
/**
* @internal
*/
_add(dm: FacileDanmaku<T>): void;
/**
* @internal
*/
_remove(dm: FacileDanmaku<T>): void;
/**
* @internal
*/
_updateLocation(location: Location): void;
/**
* @internal
*/
_last(li: number): FacileDanmaku<T> | null;
}