UNPKG

@jbrowse/plugin-wiggle

Version:

JBrowse 2 wiggle adapters, tracks, etc.

19 lines (18 loc) 961 B
import { renderToAbstractCanvas, updateStatus } from '@jbrowse/core/util'; import { rpcResult } from '@jbrowse/core/util/librpc'; import { collectTransferables } from '@jbrowse/core/util/offscreenCanvasPonyfill'; import { drawDensity } from "../drawDensity.js"; import { serializeWiggleFeature } from "../util.js"; export async function renderDensity(renderProps, features) { const { height, regions, bpPerPx, statusCallback = () => { } } = renderProps; const region = regions[0]; const width = (region.end - region.start) / bpPerPx; const { reducedFeatures, ...rest } = await updateStatus('Rendering plot', statusCallback, () => renderToAbstractCanvas(width, height, renderProps, ctx => drawDensity(ctx, { ...renderProps, features }))); const serialized = { ...rest, features: reducedFeatures.map(serializeWiggleFeature), height, width, }; return rpcResult(serialized, collectTransferables(rest)); }