UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

58 lines (57 loc) 2.31 kB
import FeatureRendererType from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'; import type { ScaleOpts, Source } from './util'; import type { RenderArgs as FeatureRenderArgs, RenderArgsDeserialized as FeatureRenderArgsDeserialized } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType'; import type { Feature } from '@jbrowse/core/util'; import type { ThemeOptions } from '@mui/material'; export interface RenderArgs extends FeatureRenderArgs { scaleOpts: ScaleOpts; } export interface RenderArgsDeserialized extends FeatureRenderArgsDeserialized { bpPerPx: number; height: number; highResolutionScaling: number; scaleOpts: ScaleOpts; displayCrossHatches: boolean; ticks: { values: number[]; }; inverted: boolean; themeOptions: ThemeOptions; statusCallback?: (arg: string) => void; } export interface RenderArgsDeserializedWithFeatures extends RenderArgsDeserialized { features: Map<string, Feature>; inverted: boolean; } export interface MultiRenderArgsDeserialized extends RenderArgsDeserializedWithFeatures { sources: Source[]; } export default abstract class WiggleBaseRenderer extends FeatureRendererType { supportsSVG: boolean; render(renderProps: RenderArgsDeserialized): Promise<{ features: Map<string, Feature>; height: number; width: number; containsNoTransferables: boolean; canvasRecordedData: Record<string, unknown>; reactElement?: React.ReactElement; html?: string; } | { features: Map<string, Feature>; height: number; width: number; containsNoTransferables: boolean; imageData: any; reactElement?: React.ReactElement; html?: string; } | { features: Map<string, Feature>; height: number; width: number; containsNoTransferables: boolean; reactElement: React.ReactElement; html?: string; }>; abstract draw<T extends RenderArgsDeserializedWithFeatures>(ctx: CanvasRenderingContext2D, props: T): Promise<Record<string, unknown> | undefined>; } export type { RenderArgsSerialized, RenderResults, ResultsDeserialized, ResultsSerialized, } from '@jbrowse/core/pluggableElementTypes/renderers/FeatureRendererType';