UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

38 lines (37 loc) 1.34 kB
import type { BaseLayout, RectTuple, Rectangle, SerializedLayout } from './BaseLayout'; export default class GranularRectLayout<T> implements BaseLayout<T> { private pitchX; private pitchY; private hardRowLimit; private bitmap; private rectangles; maxHeightReached: boolean; private maxHeight; private displayMode; private pTotalHeight; constructor({ pitchX, pitchY, maxHeight, hardRowLimit, displayMode, }?: { pitchX?: number; pitchY?: number; maxHeight?: number; displayMode?: string; hardRowLimit?: number; }); addRect(id: string, left: number, right: number, height: number, data?: T): number | null; collides(rect: Rectangle<T>, top: number): boolean; private autovivifyRow; addRectToBitmap(rect: Rectangle<T>): void; discardRange(left: number, right: number): void; hasSeen(id: string): boolean; getByCoord(x: number, y: number): string | Record<string, T> | undefined; getByID(id: string): RectTuple | undefined; getDataByID(id: string): T | undefined; cleanup(): void; getTotalHeight(): number; get totalHeight(): number; getRectangles(): Map<string, RectTuple>; serializeRegion(region: { start: number; end: number; }): SerializedLayout; toJSON(): SerializedLayout; }