UNPKG

oncoprintjs

Version:

A data visualization for cancer genomic data.

70 lines (69 loc) 3.57 kB
/// <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; }