@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
29 lines (28 loc) • 992 B
TypeScript
import type { BaseLayout, RectTuple, Rectangle, SerializedLayout } from './BaseLayout';
export interface Layout {
minX: number;
minY: number;
maxX: number;
maxY: number;
name: string;
}
export default class PrecomputedLayout<T> implements BaseLayout<T> {
private rectangles;
private totalHeight;
maxHeightReached: boolean;
private rbush;
constructor({ rectangles, totalHeight, maxHeightReached }: SerializedLayout);
addRect(id: string): number;
getRectangles(): Map<string, RectTuple>;
getTotalHeight(): number;
collides(_rect: Rectangle<T>, _top: number): boolean;
getByCoord(x: number, y: number): string | undefined;
getByID(id: string): RectTuple | undefined;
addRectToBitmap(_rect: Rectangle<T>, _data: Record<string, T>): void;
discardRange(_left: number, _right: number): void;
serializeRegion(_region: {
start: number;
end: number;
}): SerializedLayout;
toJSON(): SerializedLayout;
}