@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
32 lines (31 loc) • 1.09 kB
TypeScript
interface AbsoluteCache {
dirty: boolean;
left?: number;
right?: number;
top?: number;
bottom?: number;
width?: number;
height?: number;
}
export default class SceneGraph {
name: string;
left: number;
top: number;
width: number;
height: number;
data?: Record<string, any> | undefined;
private children;
private absoluteCache;
parent?: SceneGraph;
constructor(name: string, left: number, top: number, width: number, height: number, data?: Record<string, any> | undefined);
addChild(nameOrSceneGraph: string | SceneGraph, left: number, top: number, width: number, height: number, data?: Record<string, any>): SceneGraph;
getSubRecord(name: string): SceneGraph | undefined;
expand(newLeft: number, newRight: number, newTop: number, newBottom: number): void;
get bottom(): number;
get right(): number;
walkParents(callback: (arg: SceneGraph) => void): void;
walkChildren(callback: (c: SceneGraph) => void): void;
get absolute(): AbsoluteCache;
move(x: number, y: number): void;
}
export {};