ketcher-core
Version:
Web-based molecule sketcher
85 lines (84 loc) • 3.82 kB
TypeScript
import { D3SvgElementSelection } from "../types";
import { AttachmentPoint } from "../../../domain/AttachmentPoint";
import { BaseMonomer } from "../../../domain/entities/BaseMonomer";
import { Vec2 } from "../../../domain/entities/vec2";
import { AttachmentPointConstructorParams, AttachmentPointName } from "../../../domain/types";
import { BaseRenderer } from './BaseRenderer';
export declare const MONOMER_CSS_CLASS = "monomer";
export declare abstract class BaseMonomerRenderer extends BaseRenderer {
monomer: BaseMonomer;
private monomerHoveredElementId;
private scale?;
private editorEvents;
private editor;
private selectionCircle?;
private selectionBorder?;
bodyElement?: D3SvgElementSelection<SVGUseElement, this>;
private freeSectorsList;
private attachmentPoints;
private hoveredAttachmentPoint;
private monomerSymbolElement?;
monomerSize: {
width: number;
height: number;
};
private enumerationElement?;
enumeration: number | null;
private terminalIndicatorElement?;
CHAIN_START_TERMINAL_INDICATOR_TEXT: string;
CHAIN_END_TERMINAL_INDICATOR_TEXT: string;
static isSelectable(): boolean;
protected constructor(monomer: BaseMonomer, monomerHoveredElementId: string, monomerSymbolElementId: string, scale?: number | undefined);
private isSnakeBondForAttachmentPoint;
static get monomerSize(): {
width: number;
height: number;
};
get center(): Vec2;
get textColor(): any;
protected getMonomerColor(theme: any): any;
protected getPeptideColor(theme: any): any;
redrawAttachmentPoints(): void;
updateAttachmentPoints(): void;
redrawAttachmentPointsCoordinates(): void;
drawAttachmentPoints(appendFn?: (apName: AttachmentPointName, customAngle?: number) => AttachmentPoint): void;
protected prepareAttachmentPointsParams(attachmentPointName: AttachmentPointName, customAngle?: number): AttachmentPointConstructorParams;
appendAttachmentPoint(attachmentPointName: AttachmentPointName, customAngle?: number): AttachmentPoint;
removeAttachmentPoints(): void;
hoverAttachmentPoint(attachmentPointName: AttachmentPointName): void;
protected appendRootElement(canvas: D3SvgElementSelection<SVGSVGElement, void>): D3SvgElementSelection<SVGGElement, void>;
protected appendLabel(rootElement: D3SvgElementSelection<SVGGElement, void>): void;
setLabelVisibility(isVisible: boolean): void;
appendHover(hoverAreaElement: D3SvgElementSelection<SVGGElement, void>): import("d3-selection").Selection<SVGUseElement, void, HTMLElement, never>;
removeHover(): void;
static getScaledMonomerPosition(positionInAngstoms: Vec2, monomerSize?: {
width: number;
height: number;
}): Vec2;
get scaledMonomerPosition(): Vec2;
appendSelection(): void;
removeSelection(): void;
protected abstract appendBody(rootElement: D3SvgElementSelection<SVGGElement, void>, theme?: any): any;
protected appendHoverAreaElement(): void;
private appendEvents;
abstract get enumerationElementPosition(): {
x: number;
y: number;
} | void;
abstract get beginningElementPosition(): {
x: number;
y: number;
} | void;
setEnumeration(enumeration: number | null): void;
protected appendEnumeration(): void;
redrawEnumeration(needToDrawTerminalIndicator: boolean): void;
redrawChainTerminalIndicator(needToDraw: boolean): void;
protected abstract get modificationConfig(): any;
protected drawModification(): void;
show(theme?: any): void;
drawSelection(): void;
private raiseElement;
moveSelection(): void;
move(): void;
remove(): void;
}