@kitware/vtk.js
Version:
Visualization Toolkit for the Web
149 lines (126 loc) • 3.52 kB
TypeScript
import { vtkObject } from './../../interfaces';
import { RGBAColor, RGBColor } from './../../types';
import vtkRenderer from './../Core/Renderer';
import vtkRenderWindow from './../Core/RenderWindow';
import vtkRenderWindowInteractor from './../Core/RenderWindowInteractor';
// import vtkOpenGLRenderWindow from './../../OpenGL/RenderWindow';
// import vtkWebGPURenderWindow from './../../WebGPU/RenderWindow';
/**
*
*/
export interface IFullScreenRenderWindowInitialValues {
background?: RGBColor | RGBAColor;
container?: HTMLElement;
containerStyle?: object;
controlPanelStyle?: object;
controllerVisibility?: boolean;
defaultViewAPI?: boolean;
listenWindowResize?: boolean;
resizeCallback?: any;
}
export interface vtkFullScreenRenderWindow extends vtkObject {
/**
*
* @param {HTMLElement} html
*/
addController(html: HTMLElement): void;
/**
* Representation API
* @param representation
*/
addRepresentation(representation: any): void;
/**
* Release GL context
*/
delete(): void;
/**
* Returns vtkWebGPURenderWindow if ?viewAPI='WebGPU' is in URL, or if
* vtkFullScreenRenderWindow has been created with "defaultViewAPI: 'WebGPU",
* otherwise vtkOpenGLRenderWindow is returned.
*/
getApiSpecificRenderWindow(): any; // vtkOpenGLRenderWindow || vtkWebGPURenderWindow
/**
* Get container element
*/
getContainer(): HTMLElement;
/**
* Get control container element
*/
getControlContainer(): HTMLElement;
/**
* Get interactor object
*/
getInteractor(): vtkRenderWindowInteractor;
/**
* Get Render windows object
*/
getRenderWindow(): vtkRenderWindow;
/**
* Get Renderer object
*/
getRenderer(): vtkRenderer;
/**
* Get root container element
*/
getRootContainer(): HTMLElement;
/**
* Remove controller
*/
removeController(): void;
/**
* Remove representation
* @param representation
*/
removeRepresentation(representation: any): void;
/**
* Handle window resize
*/
resize(): void;
/**
* Set background color
* @param {RGBColor | RGBAColor} background The background color.
*/
setBackground(background: RGBColor | RGBAColor): boolean;
/**
* Hide or show controller
* @param {Boolean} visible
*/
setControllerVisibility(visible: boolean): void;
/**
*
* @param cb
*/
setResizeCallback(cb: any): void;
/**
* Toggle controller visibility
*/
toggleControllerVisibility(): void;
}
/**
* Method used to decorate a given object (publicAPI+model) with vtkFullScreenRenderWindow characteristics.
*
* @param publicAPI object on which methods will be bounds (public)
* @param model object on which data structure will be bounds (protected)
* @param {IFullScreenRenderWindowInitialValues} [initialValues] (default: {})
*/
export function extend(
publicAPI: object,
model: object,
initialValues?: IFullScreenRenderWindowInitialValues
): void;
/**
* Method used to create a new instance of vtkFullScreenRenderWindow
* @param {IFullScreenRenderWindowInitialValues} [initialValues] for pre-setting some of its content
*/
export function newInstance(
initialValues?: IFullScreenRenderWindowInitialValues
): vtkFullScreenRenderWindow;
/**
* vtkFullScreenRenderWindow provides a skeleton for implementing a fullscreen
* render window.
*/
export declare const vtkFullScreenRenderWindow: {
newInstance: typeof newInstance;
extend: typeof extend;
};
export default vtkFullScreenRenderWindow;