ketcher-react
Version:
Web-based molecule sketcher
57 lines (56 loc) • 1.74 kB
TypeScript
/// <reference types="lodash" />
import Editor from '../Editor';
import { getDifference } from './rotate-controller.utils';
declare class RotateController {
isRotating: boolean;
private readonly editor;
private readonly rotateTool;
private originalCenter;
private normalizedCenterInitialHandleVec;
private handleCenter;
private initialRadius;
private isMovingCenter;
private handle?;
private boundingRect?;
private cross?;
private link?;
private protractor?;
private rotateArc?;
private snapAngleIndicator?;
constructor(editor: Editor);
private init;
private get render();
private get paper();
private get center();
rerender(): void;
clean(): void;
/**
* Revert rotation by pressing "Escape" key or "Right click" button
*/
revert(): void;
private isPartOfFragmentSelected;
private show;
private drawCross;
private drawBoundingRect;
private drawHandle;
private drawLink;
private drawProtractor;
private drawRotateArc;
private readonly hoverIn;
private readonly hoverOut;
private getProtractorBaseInfo;
private readonly dragStart;
private readonly dragMove;
private readonly dragEnd;
private readonly hoverCrossIn;
private readonly hoverCrossOut;
private readonly dragCrossStart;
private readonly dragCrossMove;
private readonly dragCrossEnd;
private readonly dragCrossEndOUtOfBounding;
updateFloatingToolsPosition: import("lodash").DebouncedFunc<() => void>;
private updateSnapAngleIndicator;
private drawSnapAngleIndicator;
}
export default RotateController;
export { getDifference };