All files / extensions/cornerstone/src/services/ViewportService IViewportService.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66                                                                                                                                   
import { Types } from '@cornerstonejs/core';
import { StackViewportData, VolumeViewportData } from '../../types/CornerstoneCacheService';
import { DisplaySetOptions, PublicViewportOptions } from './Viewport';
import { Presentations } from '../../types/Presentation';
 
/**
 * Handles cornerstone viewport logic including enabling, disabling, and
 * updating the viewport.
 */
export interface IViewportService {
  servicesManager: AppTypes.ServicesManager;
  hangingProtocolService: unknown;
  renderingEngine: unknown;
  viewportGridResizeObserver: unknown;
  viewportsInfo: unknown;
  sceneVolumeInputs: unknown;
  viewportDivElements: unknown;
  ViewportPropertiesMap: unknown;
  volumeUIDs: unknown;
  listeners: { [key: string]: {} };
  displaySetsNeedRerendering: unknown;
  viewportDisplaySets: unknown;
  EVENTS: { [key: string]: string };
  _broadcastEvent: unknown;
  /**
   * Adds the HTML element to the viewportService
   * @param {*} elementRef
   */
  enableViewport(viewportId: string, elementRef: HTMLDivElement): void;
  /**
   * It retrieves the renderingEngine if it does exist, or creates one otherwise
   * @returns {RenderingEngine} rendering engine
   */
  getRenderingEngine(): Types.IRenderingEngine;
  /**
   * It creates  a resize observer for the viewport element, and observes
   * the element for resizing events
   * @param {*} elementRef
   */
  resize(isGridResize: boolean): void;
  /**
   * Removes the viewport from cornerstone, and destroys the rendering engine
   */
  destroy(): void;
  /**
   * Disables the viewport inside the renderingEngine, if no viewport is left
   * it destroys the renderingEngine.
   * @param viewportId
   */
  disableElement(viewportId: string): void;
  /**
   * Uses the renderingEngine to enable the element for the given viewport index
   * and sets the displaySet data to the viewport
   * @param {*} displaySet
   * @param {*} dataSource
   * @returns
   */
  setViewportData(
    viewportId: string,
    viewportData: StackViewportData | VolumeViewportData,
    publicViewportOptions: PublicViewportOptions,
    publicDisplaySetOptions: DisplaySetOptions[],
    presentations?: Presentations
  ): void;
}