Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 128x | import { ViewportType } from '../../../enums';
import type { ViewPresentation } from '../../../types';
import type {
ProjectionWriteOptions,
ViewportProjectionAdapter,
} from '../ViewportProjectionTypes';
import {
getECGProjectionPresentation,
withECGProjectionPresentation,
} from './ecgProjectionPresentation';
import { getECGProjectionSnapshot } from './ecgProjectionSnapshot';
import {
ECG_PROJECTION_ID,
type ECGProjectionRequest,
type ECGProjectionSnapshot,
} from './ECGProjectionTypes';
import type { ECGViewState } from './ECGViewportTypes';
export { getECGProjectionSnapshot };
export type {
ECGProjectionPresentation,
ECGProjectionRequest,
ECGProjectionSnapshot,
} from './ECGProjectionTypes';
/**
* ECG projection adapter.
*
* ECG exposes signal space, where world coordinates mean sample index,
* amplitude value, and channel index. The adapter keeps that signal model
* explicit while still offering generic pan/zoom presentation compatibility.
*/
export const ecgProjectionAdapter: ViewportProjectionAdapter<
ECGViewState,
ViewPresentation,
ECGProjectionSnapshot
> = {
id: ECG_PROJECTION_ID,
viewportTypes: [ViewportType.ECG_NEXT],
getSnapshot: (request) =>
getECGProjectionSnapshot(request as ECGProjectionRequest),
getPresentation: (snapshot, selector) =>
getECGProjectionPresentation(snapshot, selector),
withPresentation: (
snapshot,
presentation,
options?: ProjectionWriteOptions
) => withECGProjectionPresentation(snapshot, presentation, options),
};
|