UNPKG

@lunit/insight-viewer

Version:

Based on the cornerstone library, it provides several components for handling Dicom images

50 lines (49 loc) 1.99 kB
/// <reference types="react" /> import { DRAG, PRIMARY_DRAG, SECONDARY_DRAG, PRIMARY_CLICK, SECONDARY_CLICK, MOUSEWHEEL, MOUSE_WHEEL } from './const'; import { CornerstoneViewport, CornerstoneImage } from '../../utils/cornerstoneHelper'; import { Element, Viewport, OnViewportChange } from '../../types'; export declare type DragAction = keyof typeof DRAG; export declare type WheelAction = keyof typeof MOUSE_WHEEL; /** @deprecated in flavor of DragAction */ export declare type DragEvent = DragAction; export declare type Click = (offsetX: number, offsetY: number) => void; export interface DragCoords { startX: number; startY: number; deltaX: number; deltaY: number; } export declare type Drag = ({ viewport, delta }: { viewport: CornerstoneViewport; delta: { x: number; y: number; }; }) => void; export declare type DragEventHandler = (viewport: CornerstoneViewport, dragEvent: DragCoords) => Partial<Viewport>; export interface WheelCoords { deltaX: number; deltaY: number; } export declare type Wheel = (deltaX: number, deltaY: number) => void; export declare type WheelEventHandler = (viewport: CornerstoneViewport, wheelEvent: WheelCoords) => Partial<Viewport>; export interface DragInteraction { [PRIMARY_DRAG]: DragAction | Drag | undefined; [SECONDARY_DRAG]: DragAction | Drag | undefined; } export interface ClickInteraction { [PRIMARY_CLICK]: Click | undefined; [SECONDARY_CLICK]: Click | undefined; } export interface WheelInteraction { [MOUSEWHEEL]: WheelAction | Wheel | undefined; } export declare type Interaction = DragInteraction & ClickInteraction & WheelInteraction; export declare type SetInteraction = React.Dispatch<React.SetStateAction<Interaction>>; export interface ViewportInteraction { element: Element; image?: CornerstoneImage; interaction?: Interaction; viewport?: Viewport; onViewportChange?: OnViewportChange; }