oncoprintjs
Version:
A data visualization for cancer genomic data.
70 lines (69 loc) • 3.57 kB
TypeScript
/// <reference types="jquery" />
/// <reference types="jstree" />
import OncoprintModel, { ColumnIndex } from './oncoprintmodel';
import OncoprintWebGLCellView from './oncoprintwebglcellview';
export declare type MinimapViewportSpec = {
left_col: ColumnIndex;
right_col: ColumnIndex;
scroll_y_proportion: number;
zoom_y: number;
};
export default class OncoprintMinimapView {
private $div;
private $canvas;
private $overlay_canvas;
private handleContextLost;
private layout_numbers;
private current_rect;
private $window_bar;
private $close_btn;
private horizontal_zoom;
private vertical_zoom;
private ctx;
private ext;
private overlay_ctx;
private pMatrix;
private mvMatrix;
private shader_program;
private resize_hover;
private rendering_suppressed;
private visible;
constructor($div: JQuery, $canvas: JQuery<HTMLCanvasElement>, $overlay_canvas: JQuery<HTMLCanvasElement>, model: OncoprintModel, cell_view: OncoprintWebGLCellView, width: number, height: number, drag_callback: (x: number, y: number) => void, viewport_callback: (vp: MinimapViewportSpec) => void, horz_zoom_callback: (z: number) => void, vert_zoom_callback: (z: number) => void, zoom_to_fit_callback: () => void, close_callback: () => void);
private colToLeft;
private get shouldRender();
private getNewCanvas;
private getWebGLCanvasContext;
private ensureWebGLContext;
private createShaderProgram;
private createShader;
private getWebGLContextAndSetUpMatrices;
private setUpShaders;
private getTrackBuffers;
private getSimpleCountBuffer;
private drawOncoprint;
private getZoom;
private drawOverlayRect;
private drawOncoprintAndOverlayRect;
moveTrack(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
addTracks(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
removeTrack(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setHorzZoom(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setVertZoom(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setZoom(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setScroll(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setHorzScroll(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setVertScroll(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setViewport(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
sort(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setTrackData(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
shareRuleSet(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setRuleSet(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setIdOrder(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setTrackGroupHeader(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
suppressRendering(): void;
releaseRendering(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
hideIds(model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
setMinimapVisible(visible: boolean, model?: OncoprintModel, cell_view?: OncoprintWebGLCellView): void;
setWindowPosition(x: number, y: number): void;
setWidth(w: number, model: OncoprintModel, cell_view: OncoprintWebGLCellView): void;
}