UNPKG

molstar

Version:

A comprehensive macromolecular library.

131 lines (130 loc) 5.51 kB
/** * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> * @author Alexander Rose <alexander.rose@weirdbyte.de> */ import { Viewport } from '../../mol-canvas3d/camera/util'; import { ImagePass } from '../../mol-canvas3d/passes/image'; import { PluginComponent } from '../../mol-plugin-state/component'; import { Color } from '../../mol-util/color'; import { ParamDefinition as PD } from '../../mol-util/param-definition'; import { PluginContext } from '../context'; export { ViewportScreenshotHelper, ViewportScreenshotHelperParams }; declare namespace ViewportScreenshotHelper { type ResolutionSettings = PD.Values<ReturnType<ViewportScreenshotHelper['createParams']>>['resolution']; type ResolutionTypes = ResolutionSettings['name']; } declare type ViewportScreenshotHelperParams = PD.Values<ReturnType<ViewportScreenshotHelper['createParams']>>; declare class ViewportScreenshotHelper extends PluginComponent { private plugin; private createParams; private _params; get params(): { resolution: PD.Mapped<PD.NamedParams<PD.Normalize<{ width: number; height: number; }>, "custom"> | PD.NamedParams<PD.Normalize<unknown>, "viewport"> | PD.NamedParams<PD.Normalize<unknown>, "hd"> | PD.NamedParams<PD.Normalize<unknown>, "full-hd"> | PD.NamedParams<PD.Normalize<unknown>, "ultra-hd">>; transparent: PD.BooleanParam; axes: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ alpha: number; ignoreLight: boolean; colorX: Color; colorY: Color; colorZ: Color; scale: number; doubleSided: boolean; flipSided: boolean; flatShaded: boolean; xrayShaded: boolean; quality: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest"; }>, "on">>; }; readonly behaviors: { values: import("rxjs").BehaviorSubject<PD.Values<{ resolution: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "viewport"> | PD.NamedParams<PD.Normalize<unknown>, "hd"> | PD.NamedParams<PD.Normalize<unknown>, "full-hd"> | PD.NamedParams<PD.Normalize<unknown>, "ultra-hd"> | PD.NamedParams<PD.Normalize<{ width: number; height: number; }>, "custom">>; transparent: PD.BooleanParam; axes: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ alpha: number; ignoreLight: boolean; colorX: Color; colorY: Color; colorZ: Color; scale: number; doubleSided: boolean; flipSided: boolean; flatShaded: boolean; xrayShaded: boolean; quality: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest"; }>, "on">>; }>>; cropParams: import("rxjs").BehaviorSubject<{ auto: boolean; relativePadding: number; }>; relativeCrop: import("rxjs").BehaviorSubject<Viewport>; }; readonly events: { previewed: import("rxjs").Subject<any>; }; get values(): PD.Values<{ resolution: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "viewport"> | PD.NamedParams<PD.Normalize<unknown>, "hd"> | PD.NamedParams<PD.Normalize<unknown>, "full-hd"> | PD.NamedParams<PD.Normalize<unknown>, "ultra-hd"> | PD.NamedParams<PD.Normalize<{ width: number; height: number; }>, "custom">>; transparent: PD.BooleanParam; axes: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ alpha: number; ignoreLight: boolean; colorX: Color; colorY: Color; colorZ: Color; scale: number; doubleSided: boolean; flipSided: boolean; flatShaded: boolean; xrayShaded: boolean; quality: "custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest"; }>, "on">>; }>; get cropParams(): { auto: boolean; relativePadding: number; }; get relativeCrop(): Viewport; private getCanvasSize; private getSize; private createPass; private _previewPass; private get previewPass(); private _imagePass; get imagePass(): ImagePass; getFilename(extension?: string): string; private canvas; private previewCanvas; private previewData; resetCrop(): void; toggleAutocrop(): void; get isFullFrame(): boolean; autocrop(relativePadding?: number): void; getPreview(maxDim?: number): { canvas: HTMLCanvasElement; width: number; height: number; } | undefined; getSizeAndViewport(): { width: number; height: number; viewport: Viewport; }; private draw; private copyToClipboardTask; getImageDataUri(): Promise<string>; copyToClipboard(): Promise<void> | undefined; private downloadTask; download(filename?: string): void; constructor(plugin: PluginContext); }