molstar
Version:
A comprehensive macromolecular library.
82 lines • 4.51 kB
JavaScript
/**
* Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Color } from '../mol-util/color';
import { CarbohydrateSymbolColorThemeProvider } from './color/carbohydrate-symbol';
import { UniformColorThemeProvider } from './color/uniform';
import { deepEqual } from '../mol-util';
import { ThemeRegistry } from './theme';
import { ChainIdColorThemeProvider } from './color/chain-id';
import { ElementIndexColorThemeProvider } from './color/element-index';
import { ElementSymbolColorThemeProvider } from './color/element-symbol';
import { MoleculeTypeColorThemeProvider } from './color/molecule-type';
import { PolymerIdColorThemeProvider } from './color/polymer-id';
import { PolymerIndexColorThemeProvider } from './color/polymer-index';
import { ResidueNameColorThemeProvider } from './color/residue-name';
import { SecondaryStructureColorThemeProvider } from './color/secondary-structure';
import { SequenceIdColorThemeProvider } from './color/sequence-id';
import { ShapeGroupColorThemeProvider } from './color/shape-group';
import { UnitIndexColorThemeProvider } from './color/unit-index';
import { UncertaintyColorThemeProvider } from './color/uncertainty';
import { EntitySourceColorThemeProvider } from './color/entity-source';
import { IllustrativeColorThemeProvider } from './color/illustrative';
import { HydrophobicityColorThemeProvider } from './color/hydrophobicity';
import { ModelIndexColorThemeProvider } from './color/model-index';
import { OccupancyColorThemeProvider } from './color/occupancy';
import { OperatorNameColorThemeProvider } from './color/operator-name';
import { OperatorHklColorThemeProvider } from './color/operator-hkl';
import { PartialChargeColorThemeProvider } from './color/partial-charge';
import { AtomIdColorThemeProvider } from './color/atom-id';
import { EntityIdColorThemeProvider } from './color/entity-id';
export { ColorTheme };
var ColorTheme;
(function (ColorTheme) {
ColorTheme.PaletteScale = (1 << 24) - 1;
ColorTheme.EmptyFactory = function () { return ColorTheme.Empty; };
var EmptyColor = Color(0xCCCCCC);
ColorTheme.Empty = {
factory: ColorTheme.EmptyFactory,
granularity: 'uniform',
color: function () { return EmptyColor; },
props: {}
};
function areEqual(themeA, themeB) {
return themeA.contextHash === themeB.contextHash && themeA.factory === themeB.factory && deepEqual(themeA.props, themeB.props);
}
ColorTheme.areEqual = areEqual;
ColorTheme.EmptyProvider = { name: '', label: '', category: '', factory: ColorTheme.EmptyFactory, getParams: function () { return ({}); }, defaultValues: {}, isApplicable: function () { return true; } };
function createRegistry() {
return new ThemeRegistry(ColorTheme.BuiltIn, ColorTheme.EmptyProvider);
}
ColorTheme.createRegistry = createRegistry;
ColorTheme.BuiltIn = {
'atom-id': AtomIdColorThemeProvider,
'carbohydrate-symbol': CarbohydrateSymbolColorThemeProvider,
'chain-id': ChainIdColorThemeProvider,
'element-index': ElementIndexColorThemeProvider,
'element-symbol': ElementSymbolColorThemeProvider,
'entity-id': EntityIdColorThemeProvider,
'entity-source': EntitySourceColorThemeProvider,
'hydrophobicity': HydrophobicityColorThemeProvider,
'illustrative': IllustrativeColorThemeProvider,
'model-index': ModelIndexColorThemeProvider,
'molecule-type': MoleculeTypeColorThemeProvider,
'occupancy': OccupancyColorThemeProvider,
'operator-hkl': OperatorHklColorThemeProvider,
'operator-name': OperatorNameColorThemeProvider,
'partial-charge': PartialChargeColorThemeProvider,
'polymer-id': PolymerIdColorThemeProvider,
'polymer-index': PolymerIndexColorThemeProvider,
'residue-name': ResidueNameColorThemeProvider,
'secondary-structure': SecondaryStructureColorThemeProvider,
'sequence-id': SequenceIdColorThemeProvider,
'shape-group': ShapeGroupColorThemeProvider,
'uncertainty': UncertaintyColorThemeProvider,
'unit-index': UnitIndexColorThemeProvider,
'uniform': UniformColorThemeProvider,
};
})(ColorTheme || (ColorTheme = {}));
export function ColorThemeProvider(p) { return p; }
//# sourceMappingURL=color.js.map