molstar
Version:
A comprehensive macromolecular library.
130 lines (129 loc) • 6.77 kB
TypeScript
/**
* Copyright (c) 2020-2024 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 { Structure } from '../mol-model/structure.js';
import { PluginContext } from './context.js';
import { EmdbDownloadProvider } from '../mol-plugin-state/actions/volume.js';
import { StructureRepresentationPresetProvider } from '../mol-plugin-state/builder/structure/representation-preset.js';
import { SaccharideCompIdMapType } from '../mol-model/structure/structure/carbohydrates/constants.js';
export declare class PluginConfigItem<T = any> {
key: string;
defaultValue?: T | undefined;
toString(): string;
valueOf(): string;
constructor(key: string, defaultValue?: T | undefined);
}
declare function item<T>(key: string, defaultValue?: T): PluginConfigItem<T>;
export declare const PluginConfig: {
item: typeof item;
General: {
IsBusyTimeoutMs: PluginConfigItem<number>;
DisableAntialiasing: PluginConfigItem<boolean>;
DisablePreserveDrawingBuffer: PluginConfigItem<boolean>;
PixelScale: PluginConfigItem<number>;
PickScale: PluginConfigItem<number>;
Transparency: PluginConfigItem<"blended" | "wboit" | "dpoit">;
PreferWebGl1: PluginConfigItem<boolean>;
AllowMajorPerformanceCaveat: PluginConfigItem<boolean>;
PowerPreference: PluginConfigItem<WebGLPowerPreference | undefined>;
ResolutionMode: PluginConfigItem<"auto" | "scaled" | "native">;
};
State: {
DefaultServer: PluginConfigItem<string>;
CurrentServer: PluginConfigItem<string>;
HistoryCapacity: PluginConfigItem<number>;
};
VolumeStreaming: {
Enabled: PluginConfigItem<boolean>;
DefaultServer: PluginConfigItem<string>;
CanStream: PluginConfigItem<(s: Structure, plugin: PluginContext) => boolean>;
EmdbHeaderServer: PluginConfigItem<string>;
};
Viewport: {
ShowReset: PluginConfigItem<boolean>;
ShowExpand: PluginConfigItem<boolean>;
ShowToggleFullscreen: PluginConfigItem<boolean>;
ShowControls: PluginConfigItem<boolean>;
ShowSettings: PluginConfigItem<boolean>;
ShowSelectionMode: PluginConfigItem<boolean>;
ShowAnimation: PluginConfigItem<boolean>;
ShowTrajectoryControls: PluginConfigItem<boolean>;
ShowScreenshotControls: PluginConfigItem<boolean>;
ShowIllumination: PluginConfigItem<boolean>;
ShowXR: PluginConfigItem<"auto" | "always" | "never">;
};
Download: {
DefaultPdbProvider: PluginConfigItem<"rcsb" | "pdbe" | "pdbj">;
DefaultEmdbProvider: PluginConfigItem<EmdbDownloadProvider>;
};
Structure: {
SizeThresholds: PluginConfigItem<{
smallResidueCount: number;
mediumResidueCount: number;
largeResidueCount: number;
highSymmetryUnitCount: number;
fiberResidueCount: number;
}>;
DefaultRepresentationPreset: PluginConfigItem<string>;
DefaultRepresentationPresetParams: PluginConfigItem<StructureRepresentationPresetProvider.CommonParams>;
SaccharideCompIdMapType: PluginConfigItem<SaccharideCompIdMapType>;
};
Background: {
Styles: PluginConfigItem<[import("../mol-util/param-definition.js").ParamDefinition.Values<{
variant: import("../mol-util/param-definition.js").ParamDefinition.Mapped<import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<unknown>, "off"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
coverage: "canvas" | "viewport";
opacity: number;
saturation: number;
lightness: number;
source: import("../mol-util/param-definition.js").ParamDefinition.NamedParams<any, "url"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/assets.js").Asset.File | null, "file">;
blur: number;
}>, "image"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
centerColor: import("../mol-util/color/index.js").Color;
edgeColor: import("../mol-util/color/index.js").Color;
ratio: number;
coverage: "canvas" | "viewport";
}>, "radialGradient"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
opacity: number;
saturation: number;
lightness: number;
faces: import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
nx: /*elided*/ any;
ny: /*elided*/ any;
nz: /*elided*/ any;
px: /*elided*/ any;
py: /*elided*/ any;
pz: /*elided*/ any;
}>, "urls"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
nx: /*elided*/ any;
ny: /*elided*/ any;
nz: /*elided*/ any;
px: /*elided*/ any;
py: /*elided*/ any;
pz: /*elided*/ any;
}>, "files">;
blur: number;
rotation: import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
x: /*elided*/ any;
y: /*elided*/ any;
z: /*elided*/ any;
}>;
}>, "skybox"> | import("../mol-util/param-definition.js").ParamDefinition.NamedParams<import("../mol-util/param-definition.js").ParamDefinition.Normalize<{
topColor: import("../mol-util/color/index.js").Color;
bottomColor: import("../mol-util/color/index.js").Color;
ratio: number;
coverage: "canvas" | "viewport";
}>, "horizontalGradient">>;
}>, string][]>;
};
};
export declare class PluginConfigManager {
private _config;
get<T>(key: PluginConfigItem<T>): T | undefined;
set<T>(key: PluginConfigItem<T>, value: T): void;
delete<T>(key: PluginConfigItem<T>): void;
constructor(initial?: [PluginConfigItem, unknown][]);
}
export {};