@jbrowse/plugin-wiggle
Version:
JBrowse 2 wiggle adapters, tracks, etc.
58 lines (57 loc) • 2.31 kB
TypeScript
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';